XL 2016 erreur ligne de commande

Le_Troll_Du_27

XLDnaute Occasionnel
Bonjour le forum

Ci dessous, cette ligne de commande renvoie mon image dans une autre colonne que celle voulu et dans la même ligne du client sélectionner de la feuille "Images" mais je souhaiterai au début de la dernière ligne vide de cette même feuille

_/ 1 feuille nommé "Listing" de A1:BR1 'liste des clients actuellement 19 lignes
_/1 feuille nommé "Images" de A1:E1 'liste des clients avec son logo donc nombre de ligne différentes de l'autre feuille actuellement aucune ligne

Le code pour ajouter un client
VB:
Private Sub CmdB_Nouveau_Click()     
    Dim NbLignes, LaLigne As Integer
    Dim Condition, pic
    TxtB_Chemin = Lbl_Image
    If MsgBox(" Confirmez-vous l’insertion de ce nouveau contact ? ", vbYesNo, _
            " Demande de confirmation d’ajout ") = vbYes Then
        ' définir un groupe obligatoire
        If CmbB_Groupe_Nom.ListIndex = -1 Then
            Condition = MsgBox("Vous n'avez pas défini de groupe ...", 48, "Erreur")
            Exit Sub
        End If
        ' au moins un champs à remplir
        If TxtB_Numero1 = "" And TxtB_Numero2 = "" And TxtB_Numero3 = "" Then
            Condition = MsgBox("Complétez impérativement l'un des champs suivants :" & Chr(10) & _
                               Chr(10) & " - Nom" & Chr(10) & " - Prénom" & Chr(10) & " - Entreprise", 48, "Erreur")
            Exit Sub
        End If
        Set Wsd = Sheets("Données")
        Set Wsl = Sheets("Listing")
        Set Wsi = Sheets("Images")
        NbLignes = Wsl.Range("A" & Rows.Count).End(xlUp).Row + 1
        LaLigne = Wsi.Range("A" & Rows.Count).End(xlUp).Row + 1
        Wsl.Range("A" & NbLignes) = Wsl.Range("A" & NbLignes - 1) + 1
        Wsl.Range("B" & NbLignes) = CmbB_Groupe_Nom.Value 
        Wsl.Range("C" & NbLignes) = CmbB_Civilite.Value        ' ..Civilité
        Wsl.Range("D" & NbLignes) = TxtB_Numero1.Value        ' .Nom
        Wsl.Range("E" & NbLignes) = TxtB_Numero2.Value        ' ..Prénom
        Wsl.Range("F" & NbLignes) = TxtB_Numero3.Value
        Wsl.Range("G" & NbLignes) = TxtB_Numero4.Value
        Wsl.Range("H" & NbLignes) = CmbB_Activite.Value
        Wsl.Range("I" & NbLignes) = TxtB_Numero5.Value
        Wsl.Range("J" & NbLignes) = CmbB_Code_Postal_Domicile.Value
        Wsl.Range("K" & NbLignes) = CmbB_Ville_Domicile.Value
        Wsl.Range("L" & NbLignes) = CmbB_Pays_Domicile.Value
        Wsl.Range("M" & NbLignes) = TxtB_Numero6.Value
        Wsl.Range("N" & NbLignes) = CmbB_Code_Postal_Bureau.Value
        Wsl.Range("O" & NbLignes) = CmbB_Ville_Bureau.Value
        Wsl.Range("P" & NbLignes) = CmbB_Pays_Bureau.Value
        Wsl.Range("Q" & NbLignes) = TxtB_Numero7.Value
        Wsl.Range("R" & NbLignes) = TxtB_Numero8.Value
        Wsl.Range("S" & NbLignes) = TxtB_Numero9.Value
        Wsl.Range("T" & NbLignes) = TxtB_Numero10.Value
        Wsl.Range("U" & NbLignes) = TxtB_Numero11.Value
        Wsl.Range("V" & NbLignes) = TxtB_Numero12.Value
        Wsl.Range("W" & NbLignes) = TxtB_Numero13.Value
        Wsl.Range("X" & NbLignes) = TxtB_Numero14.Value
        Wsl.Range("Y" & NbLignes) = TxtB_Numero15.Value
        Wsl.Range("Z" & NbLignes) = TxtB_Numero16.Value
        Wsl.Range("AA" & NbLignes) = TxtB_Numero17.Value
        Wsl.Range("AB" & NbLignes) = TxtB_Numero18.Value
        Wsl.Range("AC" & NbLignes) = TxtB_Numero19.Value
        Wsl.Range("AD" & NbLignes) = TxtB_Numero20.Value
        Wsl.Range("AE" & NbLignes) = TxtB_Numero21.Value
        Wsl.Range("AF" & NbLignes) = TxtB_Numero22.Value
        Wsl.Range("AG" & NbLignes) = TxtB_Numero23.Value
        Wsl.Range("AH" & NbLignes) = TxtB_Numero24.Value
        Wsl.Range("AI" & NbLignes) = TxtB_Numero25.Value
        Wsl.Range("AJ" & NbLignes) = CmbB_Code_APE.Value
        Wsl.Range("AK" & NbLignes) = TxtB_Numero26.Value
        Wsl.Range("AL" & NbLignes) = TxtB_Numero27.Value
        Wsl.Range("AM" & NbLignes) = CmbB_Banque.Value
        Wsl.Range("AN" & NbLignes) = TxtB_Numero28.Value
        Wsl.Range("AO" & NbLignes) = TxtB_Numero29.Value
        Wsl.Range("AP" & NbLignes) = TxtB_Numero30.Value
        Wsl.Range("AQ" & NbLignes) = TxtB_Numero31.Value
        Wsl.Range("AR" & NbLignes) = TxtB_Numero32.Value
        Wsl.Range("AS" & NbLignes) = TxtB_Numero33.Value
        Wsl.Range("AT" & NbLignes) = TxtB_Numero34.Value
        Wsl.Range("AU" & NbLignes) = TxtB_Numero35.Value
        If Not Me.TxtB_Date1.Value = "" Then Wsl.Range("AV" & NbLignes) = CDate(Me.TxtB_Date1.Value)
        Wsl.Range("AW" & NbLignes) = CmbB_Type_Contrat.Value
        Wsl.Range("AX" & NbLignes) = CmbB_Statut.Value
        If Not Me.TxtB_Numero36.Value = "" Then Wsl.Range("AY" & NbLignes) = CDbl(TxtB_Numero36.Value)
        Wsl.Range("AZ" & NbLignes) = CmbB_Coefficient.Value
        Wsl.Range("BA" & NbLignes) = CmbB_Groupe_Travail.Value
        Wsl.Range("BB" & NbLignes) = CmbB_Poste.Value
        If Not Me.TxtB_Date2.Value = "" Then Wsl.Range("BC" & NbLignes) = CDate(Me.TxtB_Date2.Value)
        Wsl.Range("BD" & NbLignes) = CDate(Now)
        If Not Me.TxtB_Date4.Value = "" Then Wsl.Range("BE" & NbLignes) = CDate(Me.TxtB_Date4.Value)
        Wsl.Range("BF" & NbLignes) = TxtB_Numero37.Value
        Wsl.Range("BG" & NbLignes) = CmbB_CodeClient.Value
        Wsl.Range("BH" & NbLignes) = TxtB_Numero38.Value
        Wsl.Range("BI" & NbLignes) = TxtB_Numero39.Value
        If Not Me.TxtB_Date5.Value = "" Then Wsl.Range("BJ" & NbLignes) = CDate(Me.TxtB_Date5.Value)
        Wsl.Range("BK" & NbLignes) = TxtB_Numero40.Value
        Wsl.Range("BL" & NbLignes) = TxtB_Numero41.Value
        If Not Me.TxtB_Date6.Value = "" Then Wsl.Range("BM" & NbLignes) = CDate(Me.TxtB_Date6.Value)
        Wsl.Range("BN" & NbLignes) = TxtB_Numero42.Value
        Wsl.Range("BO" & NbLignes) = TxtB_Numero43.Value
        If Not Me.TxtB_Date7.Value = "" Then Wsl.Range("BP" & NbLignes) = CDate(Me.TxtB_Date7.Value)

        ' Si l'image n'est pas chargé le chemin est vide
        If Not Me.TxtB_Chemin.Value = "" Then Wsl.Range("BQ" & NbLignes) = Wsl.Range("A" & NbLignes - 1) + 1
        If Not Me.TxtB_Chemin.Value = "" Then Wsl.Range("BR" & NbLignes) = TxtB_Chemin.Value
        If Not Me.TxtB_Chemin.Value = "" Then Wsi.Range("A" & LaLigne) = TxtB_Numero1.Value
        If Not Me.TxtB_Chemin.Value = "" Then Wsi.Range("B" & LaLigne) = Wsl.Range("A" & NbLignes - 1) + 1
        If Not Me.TxtB_Chemin.Value = "" Then Wsi.Range("C" & LaLigne) = TxtB_Chemin.Value
        ' ------------
        If Not Me.TxtB_Chemin.Value = "" Then
            '
            Set pic = Sheets("Images").Pictures.Insert(Me.Lbl_Image.Caption)        ' sauvegarder l'image
            pic.name = Me.TxtB_Numero1
            Wsi.Range("D" & LaLigne) = pic.Pictures.Insert(Image1.Tag).Select
        End If
       ' ------------
        Condition = MsgBox("Les données ont bien été enregistrées.", 64, "Confirmation")
    End If 
    Nettoyage_Userform1
End Sub

Merci

Cordialement
 

Le_Troll_Du_27

XLDnaute Occasionnel
Mon erreur je crois que c'est ici :

VB:
If Not Me.TxtB_Chemin.Value = "" Then
        '    Set pic = Sheets("Images").Pictures.Insert(Me.Lbl_Image.Caption)        ' sauvegarder l'image
        '    pic.name = Image1.Picture
            Wsi.Range("D" & LaLigne) = Image1.Picture
        End If

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 369
Membres
102 875
dernier inscrit
Jimbo2374