email avec pièce jointe dans userform (Résolu)

fredoud

XLDnaute Junior
Bonjour,

Comment-faire pour envoyer des emails d'une liste (colonne M par exemple) et de pouvoir ajouter une pièce jointe tout ça dans userform. J'ai commencé mais fonctionne pas.

Pouvez-vous m'aider ,

Cordialement

Frederique
 

Pièces jointes

  • Fichier Clients-v1.xls
    140 KB · Affichages: 303
  • Fichier Clients-v1.xls
    140 KB · Affichages: 318
  • Fichier Clients-v1.xls
    140 KB · Affichages: 313
Dernière édition:

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

Re,

J'ai fais ceci dans le code userform "Menu" mais ce que je veux

Code:
Private Sub UserForm_Initialize()
ActiveWindow.ScrollRow = Range("Tableau1").Rows.Count + 1
...
End Sub

Ceci fonctonne se place bien sur la dernière ligne de la feuille base, ce que je veux c'est que la dernière apparaisse bien mais dans l'userform car c'est lui qui s'ouvre au démarrage, ensuite je peux utiliser les boutons de navigation ou autre chose.

Je n'ai pas ete assez claire précèdemment.

Frederique
 

JNP

XLDnaute Barbatruc
Re : email avec pièce jointe dans userform

Re :),
Evidemment, si tu fait tout pour que ça plante :rolleyes:...
Quand tu charges ton USF, c'est bien les bonnes valeurs qu'il va chercher, MAIS, comme tu as un événement Change sur le nom, il réagit et va chercher le premier nom qu'il trouve (vu que tu as plein de doublons, la ligne 22) :p...
Donc il faut que tu apprennes à gérer les interractions. J'ai mis un drapeau (booléen) qui s'appelle Flag et une sortie des événementielles si Flag = False. Du coup, à l'Initialize, il est à False, il ne déclenche pas les événementielles, et à la fin de l'Initialize, je le passe à True pour autoriser les événementielles ;).
Je te conseille de procéder de la même façon dans les événementielles, le repasser à False au début et à True à la fin, sinon, tu vas faires des boucles à n'en plus finir :rolleyes:...
Enfin, quand on fait une recherche de nom, on ne s'arrète pas à la première valeur, mais on charge le combo avec toutes les valeurs trouvées à l'aide de FindNext :)...
Bon courage :cool:
 

Pièces jointes

  • Fichier Clients.xlsm
    140.2 KB · Affichages: 67
  • Fichier Clients.xlsm
    140.2 KB · Affichages: 62
  • Fichier Clients.xlsm
    140.2 KB · Affichages: 62

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

Bonjour JNP et le forum

JNP, j'ai fait ce que tu me conseilles mais maintenant je me retrouve avec une erreur d'exécution 13 : incompatibilité de type, je clique sur débogage, la ligne concernant le departement est soulignée en jaune dans ce code
Code:
Private Sub ComboBox_nom_Change()
Dim Cherche As Range
Dim Str As String
 
Str = Me.ComboBox_nom
If Str <> "" Then
    With ThisWorkbook.Sheets("Base")
        Set Cherche = .Range("C:C").Find(What:=Str, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cherche Is Nothing Then
            Me.TextBox_prenom.Text = Cherche.Offset(0, 1)
            Me.TextBox_adresse.Text = Cherche.Offset(0, 2)
            Me.TextBox_adresse2.Text = Cherche.Offset(0, 3)
            Me.TextBox_CP.Text = Cherche.Offset(0, 4)
            Me.TextBox_ville.Text = Cherche.Offset(0, 5)
            Me.TextBox_dept.Text = Cherche.Offset(0, 6)
            Me.TextBox_tel.Text = Cherche.Offset(0, 7)
            Me.TextBox_tel2.Text = Cherche.Offset(0, 8)
            Me.TextBox_portable.Text = Cherche.Offset(0, 9)
            Me.TextBox_email.Text = Cherche.Offset(0, 10)
            Me.TextBox_categorie.Text = Cherche.Offset(0, 11)
            Me.TextBox_statut.Text = Cherche.Offset(0, 12)
            Me.TextBox_note.Text = Cherche.Offset(0, 13)
            Set Cherche = Nothing
        End If
      End With
End Sub

Question, j'ai des homonymes dans ma liste de noms, est-ce que ça peu poser ?

Merci

Frederique
 

JNP

XLDnaute Barbatruc
Re : email avec pièce jointe dans userform

Re :),
Commence déjà par ne pas utiliser comme nom de variable une fonction :mad:...
Str est une fonction de VBA, donc ça ne peux que planter :rolleyes:...
Pour tes variables, utilise plutôt des noms français, quand ils n'existent pas en anglais, ça t'évitera bien des désagréments :p !
Bon courage :cool:
 

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

Bonsoir,

Est-ce que la réponse du genre
Code:
Dim Cherche As Range
Dim Mavariable as string
 
Mavariable = Me.ComboBox_nom
If Mavariable <> "" Then
    With ThisWorkbook.Sheets("Base")
        Set Cherche = .Range("C:C").Find(What:=Mavariable, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cherche Is Nothing Then
            Me.TextBox_prenom.Text = Cherche.Offset(0, 1)
...
convient ?
Je ne vais pas t'étonner mais après lecture de divers sites, je ne suis pas sure que mon code soit bon, comment je modifie pour mettre en français. Un petit coup supplémentaire ne serait pas un luxe en te remerciant d'avance JNP. J'ai bien avancé et en partie grâce à toi.

Au plaisir de te relire,

Frederique
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : email avec pièce jointe dans userform

Re :),
Je ne comprends pas, je viens de tester
Code:
Private Sub ComboBox_nom_Change()
Dim Cherche As Range
Dim Mavariable As String
Mavariable = Me.ComboBox_nom
If Mavariable <> "" Then
    With ThisWorkbook.Sheets("Base")
        Set Cherche = .Range("C:C").Find(What:=Mavariable, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cherche Is Nothing Then
            Me.TextBox_prenom.Text = Cherche.Offset(0, 1)
        End If
    End With
End If
End Sub
Je n'ai pas d'erreur :confused: ...
A + :cool:
 

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

Re

En relisant les posts precedents, je me souviens que tu me disais "il y a des doublons", c'est normal car c'est un fichier exemple. Bon, j'ai repris le fichier en post 32 et modifier, je me retrouve avec erreur de dll, j'ai regarder dans référence, library 14.0 inexistante normale d'apès mes souvenirs, tu l'as déjà dit. Par compte, j'ai d'autres problemes, "Private Sub Workbook_Open()" souligne en jaune lié peut etre au probleme dll, et l'erreur d'exécution 13 : incompatibilité de type, et donc pa d'affichage du dernier client en ouvrant l'userform "menu".

Peux-tu me rectifier le fichier, je sais bien que c'est unième fois,

en te remerciant d'avance

Frederique
 

Pièces jointes

  • Fichier Clients.xlsm
    127.9 KB · Affichages: 55
  • Fichier Clients.xlsm
    127.9 KB · Affichages: 59
  • Fichier Clients.xlsm
    127.9 KB · Affichages: 57

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

Bonsoir,

JNP, j'ai une question concernant un remplissage automatique d'une combobox. Voici le principe :
J'ouvre une userform Intervention, je commence à compléter la combobox nom si inexistant dans feuille Clients, une autre userform AjoutClient s'ouvre afin de créer une nouvelle fiche client puis je valide pour l'ajouter dans feuille Clients et c'est là qu'intervient la question, comment faire pour que la combobox nom soit rempli automatiquement dès que l'userform AjoutClient s'est fermée ?
Il faut ajouter quelque lignes à la suite de ce code
Code:
Private Sub ComboBox_nom_Change()
Dim Recherche As Range
Dim Variable As String
 
Variable = Me.ComboBox_nom
If Variable <> "" Then
    With ThisWorkbook.Sheets("Clients")
        Set Recherche = .Range("B:B").Find(What:=Variable , LookIn:=xlValues, LookAt:=xlWhole)
        If Not Recherche Is Nothing Then
            Me.TextBox_assistance.Text = Recherche.Offset(0, 2)
...
            Set Recherche = Nothing
        Else
            MsgBox "Le client est inexistant"
            Ajouter_client.Show 0
        End If
    End With
End If
End Sub
je suppose mais lesquels

Merci pour le soutient de mon projet jusqu'ici et qui m'a permis d'avancer, je me répète mais je trouve important de rappeler l'aide que tu m'apportes.

Frederique
 

JNP

XLDnaute Barbatruc
Re : email avec pièce jointe dans userform

Re :),
Dans le code de lUSF AjoutClient, après avoir envoyé les données dans le tableau, tu dit que
Code:
Intervention.ComboBox_Nom.Text = Me.LeNomDeTonComboAjoutClient.Text
Bon dimanche :cool:
 

fredoud

XLDnaute Junior
Re : email avec pièce jointe dans userform

bonjour JNP,

j'ai mis ce que tu me conseilles (donc : "CBox_nom = Me.Nom") dans userform Ajouter_client, ça ne fonctionne pas. Je l'ai peux etre inserrer au mauvais endroit voici le code
Code:
Private Sub UserForm_Initialize()

TextBoxDate = Date
Me.Nom = Ajouter_intervention.ComboBox_nom
With Sheets("Clients")
    If Lig = 0 Then
        Me.Valider.Caption = "Ajouter"
        Lig = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
        Me.Numero = Val(.Range("A" & Lig - 1)) + 1
        CBox_nom = Me.Nom
    Else
        Me.Valider.Caption = "Modifier"
        Me.Numero = .Range("A" & Lig)
...
    End If
End With
End Sub
En faites, c'est une sorte de mise à jour dès que la fenetre est fermer ! est-ce que la rowsource utilisée et qui fait référence à Clients_nom de la feuille Clients alimenté par userform Ajouter_client jouerai un role dedans ? propriété RowSource avec Range("A1").End(xlDown).Row. Quel est la syntaxe et ou la placée ?

Merci

Frederique
 

JNP

XLDnaute Barbatruc
Re : email avec pièce jointe dans userform

Re :),
j'ai mis ce que tu me conseilles (donc : "CBox_nom = Me.Nom") dans userform Ajouter_client, ça ne fonctionne pas. Je l'ai peux etre inserrer au mauvais endroit voici le code
En faites, c'est une sorte de mise à jour dès que la fenetre est fermer ! est-ce que la rowsource utilisée et qui fait référence à Clients_nom de la feuille Clients alimenté par userform Ajouter_client jouerai un role dedans ? propriété RowSource avec Range("A1").End(xlDown).Row. Quel est la syntaxe et ou la placée ?
Non, tu n'as pas fait ce que je t'ai dit :rolleyes:...
Une fois qu'AjoutClient est quitté, il est vide :eek: !
D'où, c'est depuis AjoutClient qu'il faut modifier Intervention, avant de décharger AjoutClient (dans le OK d'AjoutClient) :p !
Bon courage :cool:
 

Discussions similaires

  • Question
Microsoft 365 Listbox
Réponses
3
Affichages
285

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 529
dernier inscrit
StarExcel