XL 2010 première ligne vide

  • Initiateur de la discussion Initiateur de la discussion PHILLIEB
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PHILLIEB

XLDnaute Nouveau
Bonjour
j'ai créé un programme de commande de repas il y a une dizaine d'années. Il fonctionne très bien depuis. J'ai apporté une modif avec un nouvel userform avec les mêmes lignes de code fonctionnant sans pb avec un autre userform. cette fois ca ne marche pas : il s'agit de copier une ligne sous condition (variable i) de la feuille "COMMANDE UF1" dans la première ligne vide de la feuille "LISTEACCOMP" , ça me recopie des dizaines de fois la même ligne de la feuille "COMMANDE UF1" dans la feuille "LISTEACCOMP" avant de s'arrêter !?! voici le code :
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim i As Long
For i = 5 To 45
Sheets("COMMANDE UF1").Select
If VISITEURUF1.ComboBox1.Value = Sheets("COMMANDE UF1").Cells(i, 3).Value Then
Sheets("COMMANDE UF1").Cells(i, 37).Value = VISITEURUF1.TextBox4.Value
Sheets("COMMANDE UF1").Cells(i, 38).Value = VISITEURUF1.TextBox5.Value
End If
'UF1
Call listeUF1
Next
Application.ScreenUpdating = True

End Sub

Voici le code de la macro "listeUF1" :
Sub listeUF1()
'RENSEIGNER LISTEACCOMP
Dim i As Long
For i = 5 To 45
Sheets("COMMANDE UF1").Select
If VISITEURUF1.ComboBox1.Value = Sheets("COMMANDE UF1").Cells(i, 3).Value Then
With Sheets("LISTEACCOMP").Range("A100").End(xlUp)(2) = ""
Sheets("COMMANDE UF1").Range(Cells(i, 1), Cells(i, 41)).Copy Sheets("LISTEACCOMP").Range("A100").End(xlUp)(2)
End With
Exit Sub
End If
Next

End Sub
 

Pièces jointes

Bonjour
1) Mets ton code entre balises code. Il est en l'état difficile à lire
Et de toutes manières, avant d'aller plus loin :
2) Sélectionner la feuille "COMMANDE UF1" ne sert à rien. Le faire de surcroît en boucle relève de la déraison
3)With Sheets("LISTEACCOMP").Range("A100").End(xlUp)(2) = "" n'a, tel qu'écrit, aucun sens.
 
Bonjour
1) Mets ton code entre balises code. Il est en l'état difficile à lire
Et de toutes manières, avant d'aller plus loin :
2) Sélectionner la feuille "COMMANDE UF1" ne sert à rien. Le faire de surcroît en boucle relève de la déraison
3)With Sheets("LISTEACCOMP").Range("A100").End(xlUp)(2) = "" n'a, tel qu'écrit, aucun sens.
Salut
je te remercie de répondre; Les modifs suite à tes deux remarques ne changent rien au problème. d'autre part je ne sais pas ce que tu entends par "mettre le code entre balises" (question de neophite)
 
VB:
Private Sub ComboBox1_Change()
VISITEURUF1.TextBox4 = ""
VISITEURUF1.TextBox5 = ""
Dim i As Long
For i = 5 To 45
If VISITEURUF1.ComboBox1.Value = Sheets("COMMANDE UF1").Cells(i, 3).Value Then
VISITEURUF1.TextBox2.Value = Sheets("COMMANDE UF1").Cells(i, 1).Value
VISITEURUF1.TextBox3.Value = Sheets("COMMANDE UF1").Cells(i, 2).Value
Exit Sub
End If
Next
End Sub
Code:
Sub listeUF1()
'RENSEIGNER LISTEACCOMP
Dim i As Long
For i = 5 To 45

If VISITEURUF1.ComboBox1.Value = Sheets("COMMANDE UF1").Cells(i, 3).Value Then
Sheets("COMMANDE UF1").Range(Cells(i, 1), Cells(i, 41)).Copy Sheets("LISTEACCOMP").Range("A100").End(xlUp)(2)
Exit Sub
End If
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
292
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
515
Réponses
9
Affichages
203
Réponses
1
Affichages
184
Réponses
8
Affichages
483
Réponses
5
Affichages
190
Réponses
8
Affichages
237
Retour