XL 2013 ActiveCell.Row besoin d'aide

pralo

XLDnaute Junior
bonsoir le forum
voila mon souci j'ai récupéré un code que je n'arrive pas l'adapté sur ma feuille
j'ai un bouton "client" qui recupére des donnés que je voudrais placer en H8,H9H10 nom, prenon etc etc
actuellement ca fonctionne mais ca change de colonne, pas de ligne
j'ai fait un bricolage pour remettre les donnés en H8 mais c'est bof
j'imagine que ca vient du code

Private Sub CommandButton3_Click() 'bouton "Modifier/Supprimer"
ActiveCell.Select 'enlève le focus au bouton
Range("N1").Select
li = ActiveCell.Row 'définit la ligne li
UserForm3.Show 'affiche l'UserForm3
End Sub

ca devient trop compliqué pour moi
merci pour votre aide
 

Pièces jointes

  • facture - Copie.xlsm
    47 KB · Affichages: 30

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Remplace la procédure nommée ListBox1_DblClick par celle-ci
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer 'déclare la variable i (Incrément)

With Me.ListBox1 'prend en compte le ListBox1
    For i = 0 To .ListCount - 1 'boucle sur tous les lignes de la ListBox1
        'si la ligne est sélectionnée définit la variable lis, la variable true et sort de la boucle
        If .Selected(i) = True Then
            op.Cells(li, "H").Value = .Column(1, i) 'place le nom
            op.Cells(li + 1, "H").Value = .Column(2, i) 'place le prénom
            op.Cells(li + 2, "H").Value = .Column(3, i) & " " & .Column(4, i) & " " & .Column(5, i) 'place l'adresse
            op.Cells(li + 3, "H").Value = .Column(6, i) 'place le téléphone
            Exit For
        End If
    Next i 'prochaine ligne de la boucle
End With 'fin de la prise en compte de la ListBox1
Unload Me 'vide et ferme l'UserForm
End Sub
et pour le code du bouton, fais ce changement
VB:
Private Sub CommandButton3_Click() 'bouton "Modifier/Supprimer"
li = 8 'définit la ligne li
UserForm3.Show 'affiche l'UserForm3
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Tu peux aussi l'écrire comme cei
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i%, t
Application.ScreenUpdating = False
With Me.ListBox1 'prend en compte le ListBox1
    For i = 0 To .ListCount - 1 'boucle sur tous les lignes de la ListBox1
      'si la ligne est sélectionnée définit la variable lis, la variable true et sort de la boucle
      If .Selected(i) = True Then
      t = Array(.Column(1, i), .Column(2, i), .Column(3, i) & " " & .Column(4, i) & " " & .Column(5, i), .Column(6, i))
      op.Cells(li, "H").Resize(4) = Application.Transpose(t)
      Exit For
      End If
    Next i 'prochaine ligne de la boucle
End With 'fin de la prise en compte de la ListBox1
Unload Me 'vide et ferme l'UserForm
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir pralo

VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer 'déclare la variable i (Incrément)

With Me.ListBox1 'prend en compte le ListBox1
    For i = 0 To .ListCount - 1 'boucle sur tous les lignes de la ListBox1
        'si la ligne est sélectionnée définit la variable lis, la variable true et sort de la boucle
        If .Selected(i) = True Then
            [H8] = .List(ListBox1.ListIndex, 1) & " " & .List(ListBox1.ListIndex, 2)
            [H9] = .List(ListBox1.ListIndex, 3)
            [H10] = .List(ListBox1.ListIndex, 4) & " " & .List(ListBox1.ListIndex, 5)
            [H11] = .List(ListBox1.ListIndex, 6)
        End If
    Next i 'prochaine ligne de la boucle
End With 'fin de la prise en compte de la ListBox1
Unload Me 'vide et ferme l'UserForm
End Sub

Edit: bonsoir Jean Marie :)
 

Staple1600

XLDnaute Barbatruc
Bonsoir Lone-Wolf

Exact, j'avions point fait gaffe
C'est effectivement mieux ainsi ;)
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i%, t
Application.ScreenUpdating = False
With Me.ListBox1 'prend en compte le ListBox1
    For i = 0 To .ListCount - 1 'boucle sur tous les lignes de la ListBox1
      'si la ligne est sélectionnée définit la variable lis, la variable true et sort de la boucle
      If .Selected(i) = True Then
      t = Array(.Column(1, i) & " " & .Column(2, i), .Column(3, i), .Column(4, i) & " " & .Column(5, i), .Column(6, i))
      op.Cells(li, "H").Resize(4) = Application.Transpose(t)
      Exit For
      End If
    Next i 'prochaine ligne de la boucle
End With 'fin de la prise en compte de la ListBox1
Unload Me 'vide et ferme l'UserForm
End Sub
 

pralo

XLDnaute Junior
bonsoir le forum
suite a l'intervention de lone-wolf mon fichier fonctionne très bien
mais j'ai essayer de rajouté une ligne de plus (Email)
sur userform3 ca fonction que a moitié
mais sur les userform1 et 2 je nage complètement (visiblement trop compliqué pour moi
donc de nouveau je viens vers vous pour un petit coup de main
merci
 

Pièces jointes

  • Copie1-V3.xlsm
    73 KB · Affichages: 24

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon