Problème avec mon Loop - VB/VBA/VBS - Programmation
Marsh Posté le 23-03-2013 à 09:17:54
Le Exit Sub est peut être la raison?
Marsh Posté le 23-03-2013 à 11:44:47
ce que tu peux commencer par faire c'est enlever tes activecell (cf les cours de Marc L ^^)
par exemple
Range("D4" ).Activate
ActiveCell.End(xlDown).Activate
Ligne = ActiveCell.Row
tu peux mettre
Ligne = Range("D4" ).End(xlDown).Row
ensuite pour ton soucis
commente le exit sub ou remplacer par exit do ( si ça existe) voir si ça te convient mieux, si tu passes par la suite de ton code
Marsh Posté le 23-03-2013 à 13:40:19
Oui, remplacer le exit sub par exit do
Marsh Posté le 23-03-2013 à 18:58:24
exit do, pas pensé je test et je vous tiens au courant. Merci les gars
Marsh Posté le 24-03-2013 à 14:43:38
En fait, je ne vois pas trop où tu veux en arriver...
As tu essayé d'exécuter ton code en pas à pas (touche F8) en analysant pourquoi ça ne va pas comme tu veux ?
Marsh Posté le 25-03-2013 à 10:49:50
C'est quoi que tu appelles "rien d'anormal" ?
En pas à pas, ça sort bien de la boucle et continue la macro ?
Marsh Posté le 25-03-2013 à 11:56:23
je me suis mal exprimé effectivement, qd il arrive à la fin de la liste, il sort bien du premier loop, mais il ne part pas sur le reste de la macro (ce qui se trouve derrière le deuxième Loop). et j'ai pas d'erreur
Marsh Posté le 25-03-2013 à 13:01:56
Cela marche bien chez tout le monde sauf toi, donc soit ton classeur est endommagé
(dans ce cas repart de zéro dans un nouveau classeur), soit …
On aimerait voir ton code avec les lignes numérotées, y a l'icône pour le code C à cet effet comme préconisé dans les règles du forum !
Marsh Posté le 22-03-2013 à 15:22:58
Bonjour à tous,
J'ai une boucle qui me permets de dupliquer le titre d'une colonne d'un TCD excel et quand le titre change, le dupliquer change aussi.
Mais une fois que j'arrive à la fin (cellule vide dans D4), la boucle s'arrête ce qui est normal mais la macro ne continue pas la suite.
Pouvez vous m'aider SVP
'Copier les noms d'agence'
Dim Ligne As Integer
Dim Référence As String
Range("D4" ).Activate
ActiveCell.End(xlDown).Activate
Ligne = ActiveCell.Row
Range("A5" ).Activate
Référence = ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.Row <> Ligne
Do While ActiveCell.Value = 0
ActiveCell.Value = Référence
ActiveCell.Offset(1, 0).Activate
If ActiveCell.Row > Ligne Then
Exit Sub
End If
Loop
Référence = ActiveCell.Value
ActiveCell.Offset(1, 0).Activate
Loop
'Mise en place de filtres'
Range("A4" ).Select
Selection.AutoFilter
Columns("A:N" ).EntireColumn.AutoFit