Sujet : [vb] Fonctions

je poste ici quelques fonctions que j'ai trouvé et modifier parfois et qui sont bien utiles

envoi de mail

Public Function mail(adresse As String, sujet As String, message As String, origine As String, MonFichier As String)
' Fonction de mail

Set objmail = CreateObject("CDONTS.NewMail")
        objmail.From = origine
        objmail.To = adresse
        objmail.Subject = sujet
        objmail.Body = message
        objmail.AttachFile MonFichier
        objmail.Send

End Function

Cette fonction nécessite l'utilisation de la dll CDONTS qui est par défaut avec un serveur IIS, si vous ne l'avez pas, telechargez la et executer ensuite la ligne suivante

regsvr32 cdonts.dll

cela aura pour effet de l'enregistrer aupres de votre os

http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW

Re : [vb] Fonctions

une petite fonction bien utile qui permet de remplacer les quote par des double quote, pratique dans les requetes sql wink

Public Function Doublequote(ByVal vntValue As Variant) As Variant
Dim i, j As Integer
Dim intLngDest As Integer, intLngSource As Integer

    If IsNull(vntValue) Then
        Exit Function
    End If
    If "'" <> "''" Then
        intLngDest = Len("''")
        If intLngDest = 0 Then
            intLngDest = 1
        End If
        intLngSource = Len("'")
    
        i = 1
        j = InStr(i, vntValue, "'")
        While j <> 0
            vntValue = Left(vntValue, j - 1) & "''" & Right(vntValue, Len(vntValue) - (j + intLngSource - 1))
            i = j + intLngDest
            j = InStr(i, vntValue, "'")
        Wend
    End If
    Doublequote = vntValue
End Function
http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW

Re : [vb] Fonctions

voila de quoi remplir un fichier word, cette fonction nécessite la référence microsoft word x.x object library

Dim oWord As Word.Application
Set oWord = New Word.Application
oWord.Visible = True 'détermine si le fichier est visible
oWord.DisplayAlerts = wdAlertsNone
                
oWord.Documents.Add App.Path & "\document.doc" ' charge un fichier existant
'Mise en gras
oWord.Selection.Font.Bold = 1
oWord.Selection.typetext Text:="bla bla: " ' remplit le document
'enleve le gras
oWord.Selection.Font.Bold = 0

'Sauvegarde et quitte
oWord.ActiveDocument.SaveAs App.Path & "\document.doc"
oWord.Quit

je ne vous ai mis qu'une seule propriété de mise ne page mais j'en ai plusieurs pages de propriétés alors demander si vous avez besoin wink

http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW

Re : [vb] Fonctions

je n'ai pas tout regardé mais ta fonction pour remplacer les quotes par des doubles quotes me parait bien longue !!

test = Replace(test ,"'","""")

Ca ne suffit pas ca ??


Par contre ta fonction pour les documents Word et le mail me plait bien ... wink

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

Re : [vb] Fonctions

elle marche dans un certaine mesure, la taille d'un quote n'est pa égale à la taille d'un double quote et quand tu travaille avec les longueurs des mots, celle ci te fait l'adaptation donc c'est ce qu'il me faut wink

en plus je l'ai allégé pour poster sur le forum mais elle me remplace également mes caractères spéciaux, je fait tout dans une fonction ca m'évite d'écrire 20 lignes avec replace=.., je lui passe une chaine et il me renvoie la chaine épuré wink

http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW

Re : [vb] Fonctions

OK d'ac !

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

Re : [vb] Fonctions

et voici encore une petite fonction made in maison smile (inspiré quand meme wink

elle permet de remplacer tous les espaces par des undescore dans le nom des fichiers pour un répertoire donné

celà peut s'avérer très utile smile

Private Sub Bouton_Click()

Dim fixe As String
Dim rep As String

fixe = "c:\temp\"

'obtient le premier fichier qui est dans le repertoire defini
rep = Dir(fixe & "*.*", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
Do While (rep <> "")
    If rep <> "." And rep <> ".." Then
        Name fixe & rep As fixe & Replace(rep, " ", "_")
    End If
    'passe à l'élément suivant
    rep = Dir
Loop
MsgBox ("Fini")

End Sub

je n'ai pas fait l'exploration en profondeur, elle marche uniquement pour un dossier qui ne contient QUE des fichiers, mais c'est déjà un bon début smile

http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW

Re : [vb] Fonctions

As-tu une petite fonction qui compte le nombre d'enfant d'un noeud dans une TreeView sous la main ???


Edit : Bon finalement c'est pas la peine, j'ai trouvé !

TreeView.SelectedItem.Children

Ca retourne le nombre d'enfant du node selectionné.

J'étais parti très loin alors que j'avais la solution directement !  roll   lol

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

Re : [vb] Fonctions

ben voila c'etait pas dur wink

si tu as d'autres problemes hésite pas a demander big_smile

plus serieusement sur les treeview,si tu as besoin d'aide, je peut t'envoyer ce que j'ai fait pour mon projet vu que c'etait un peu le theme principal smile

tiens moi au courant

http://membres.lycos.fr/cuicui/forums/panneau_rupert.png

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes...

WWW