M
Maillon
Guest
Bonjour à tous,
je parcours les cellules d'une plage ("A3:A250") et à chaque cellule de cette plage, je recherche une valeur dans la ligne correspondant à la cellule active.
Dans ma plage, chaque cellule contient des noms. Une séparation est faite entre chaque catégorie de nom par une cellule vide.
Je voudrais que ma boucle passe à la cellule suivante quand je rencontre une cellule vide sans faire la recherche de valeur sur la ligne de cette cellule.
Quand je rencontre deux cellules vides de suite, je dois arrêter ma boucle et me replacer sur la première cellule de ma plage sans faire la recherche de valeur sur les lignes des cellules vides.
Voici ce que j'ai fait pour l'instant:
Macro parcourant la page:
Sub Active_et_copie_nom()
Dim Visuel As Worksheet, Lettre As Worksheet, cellule As Range, cible As Variant
Dim pause As Variant, Start As Variant
Set Visuel = Worksheets("Visuel")
Set Lettre = Worksheets("Lettre Type")
With Visuel
Range("B500").Value = Range("A55").Value
Set plage = .Range("A55:A80")
For Each cellule In plage
If cellule = "" Then
cellule.Range = cellule.Offset(1, 0)
Else: If cellule.Value = "" And cellule.Offset(1, 0).Value = "" Then Exit For
End If
cible = cellule.Value
Range("B500").Value = cible
Lettre.Range("B7").Value = cible
Call MAJVISUEL
Start = Timer() 'tu initialises le depart
pause = 1 / 2 ' pour 50/10 de sec
Do While Timer() < Start + pause
Loop
Next
Range("B500").Value = Range("A55").Value
End With
End Sub
Macro recherchant une valeur dans la ligne de chaque cellule active:
Sub MAJVISUEL()
Dim Sh As Worksheet
Dim i As Byte
Set Sh = Worksheets("Visuel")
Sh.Activate
Range("C510:BT510").ClearContents
Ma_cellule_active = Application.WorksheetFunction.Match(Range("B500"), Range("A1:A70"), 0)
For i = 3 To 70
If Cells(Ma_cellule_active, i) = 1 Then
Cells(4, i).Copy
Cells(510, i).PasteSpecial
End If
Next i
End Sub
Merci de jeter un coup d'oeil à mon problème.
je parcours les cellules d'une plage ("A3:A250") et à chaque cellule de cette plage, je recherche une valeur dans la ligne correspondant à la cellule active.
Dans ma plage, chaque cellule contient des noms. Une séparation est faite entre chaque catégorie de nom par une cellule vide.
Je voudrais que ma boucle passe à la cellule suivante quand je rencontre une cellule vide sans faire la recherche de valeur sur la ligne de cette cellule.
Quand je rencontre deux cellules vides de suite, je dois arrêter ma boucle et me replacer sur la première cellule de ma plage sans faire la recherche de valeur sur les lignes des cellules vides.
Voici ce que j'ai fait pour l'instant:
Macro parcourant la page:
Sub Active_et_copie_nom()
Dim Visuel As Worksheet, Lettre As Worksheet, cellule As Range, cible As Variant
Dim pause As Variant, Start As Variant
Set Visuel = Worksheets("Visuel")
Set Lettre = Worksheets("Lettre Type")
With Visuel
Range("B500").Value = Range("A55").Value
Set plage = .Range("A55:A80")
For Each cellule In plage
If cellule = "" Then
cellule.Range = cellule.Offset(1, 0)
Else: If cellule.Value = "" And cellule.Offset(1, 0).Value = "" Then Exit For
End If
cible = cellule.Value
Range("B500").Value = cible
Lettre.Range("B7").Value = cible
Call MAJVISUEL
Start = Timer() 'tu initialises le depart
pause = 1 / 2 ' pour 50/10 de sec
Do While Timer() < Start + pause
Loop
Next
Range("B500").Value = Range("A55").Value
End With
End Sub
Macro recherchant une valeur dans la ligne de chaque cellule active:
Sub MAJVISUEL()
Dim Sh As Worksheet
Dim i As Byte
Set Sh = Worksheets("Visuel")
Sh.Activate
Range("C510:BT510").ClearContents
Ma_cellule_active = Application.WorksheetFunction.Match(Range("B500"), Range("A1:A70"), 0)
For i = 3 To 70
If Cells(Ma_cellule_active, i) = 1 Then
Cells(4, i).Copy
Cells(510, i).PasteSpecial
End If
Next i
End Sub
Merci de jeter un coup d'oeil à mon problème.