Invalid Next controle variable reference
Le
YeTi
Bonjour à tous,
J'ai un problème avec un Next apparemment
Ce a quoi j'aimerais arriver c'est que si une cellule de la colonne C = ü,
alors on la copie et on la colle seulement si une cellule de la ligne 2
(entre la 15ème et la 20ème colonne) est vide.
Lors que j'exécute avec la macro ci-dessous, un bug apparaît "Invalid Next
controle variable reference" et me souligne le "Next r".
Un petit peu d'aide svp?
Merci d'avance!
YeTi
For r = 2 To 50 'row
For pc = 15 To 20 'paste in column
If Cells(r, 3) = "ü" Then
Cells(r, 1).Copy
End If
If Cells(2, pc) = "" Then
Cells(2, pc).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
End If
Next r
Next pc
J'ai un problème avec un Next apparemment
Ce a quoi j'aimerais arriver c'est que si une cellule de la colonne C = ü,
alors on la copie et on la colle seulement si une cellule de la ligne 2
(entre la 15ème et la 20ème colonne) est vide.
Lors que j'exécute avec la macro ci-dessous, un bug apparaît "Invalid Next
controle variable reference" et me souligne le "Next r".
Un petit peu d'aide svp?
Merci d'avance!
YeTi
For r = 2 To 50 'row
For pc = 15 To 20 'paste in column
If Cells(r, 3) = "ü" Then
Cells(r, 1).Copy
End If
If Cells(2, pc) = "" Then
Cells(2, pc).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
End If
Next r
Next pc

Poser une question


Sans regarder ton code plus avant, les boucles ne doivent pas se croiser, la
seconde doit rester à l'intérieur. Si tu écris :
For r = 2 To 50 'row
For pc = 15 To 20 'paste in column
tu dois mettre en retour de boucles :
Next pc
Next r
--
Cordialement.
Daniel
"YeTi"
Merci beaucoup!
J'ai néanmoins tjrs un petit soucis.
Ma boucle copie donc tous les noms qui ont un "ü" dans la colonne 3 et les
colle dans la plage O2-S2.
Le problème c'est que si y a un seul nom qui a "ü", il est collé sur toute
la plage, alors que j'aimerais qu'il ne soit collé que dans la première
cellule (O2). Idem lorsqu'il y a plusieurs "ü", il colle le dernier nom sur
toute la plage au lieu d'un nom par cellule.
Comment remédier à ca?
Merci de votre aide
YeTi
"Daniel.C" wrote:
Sub test()
Dim c As Range, ResAdr As String
Dim i As Integer
i = 15
Set c = [C2:C50].Find("ü", , , xlWhole)
If Not c Is Nothing Then
ResAdr = c.Address
Do
Cells(2, i) = Cells(c.Row, 1)
If i = 20 Then Exit Sub
i = i + 1
Set c = [C2:C50].FindNext(c)
Loop Until c.Address = ResAdr
End If
End Sub
Daniel
"YeTi"
Je vais tenter d'adapter ton code car j'ai quelque peu modifié le miens
(voir sujet "Problème pour copier dans boucle")
Merci beaucoup pour ton aide.
A+
YeTi
"Daniel.C" wrote: