• Initiateur de la discussion Initiateur de la discussion vinciHorus
  • 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 !

vinciHorus

XLDnaute Junior
bonjour

j'aimerai faire une action à répétition tant que le cellule qui suit contient une valeur

code

Sub rtrt()


If (Worksheets("Saisie").Range("C" & ActiveCell.Row).Value <> " " And Worksheets("Saisie").Range("E" & ActiveCell.Row).Value <> "-") Then
Worksheets("Saisie").Range("B" & ActiveCell.Row) = Application.WorksheetFunction.VLookup(Worksheets("Saisie").Range("E" & ActiveCell.Row).Value, Worksheets("BD_REG_NAT").Range("A:V"), 22, False)
End If


If (Worksheets("Saisie").Range("E" & ActiveCell.Row).Value <> " " And Worksheets("Saisie").Range("E" & ActiveCell.Row).Value <> "-") Then
Call Réf_noms_statuts(Cells(ActiveCell.Row, 5).Value)
End If



End Sub
 
Voici un exemple de base :

VB:
Option Explicit

Sub Exemple()
Dim WS As Worksheet
Dim Cell As Range, Plage As Range

Set WS = ThisWorkbook.Worksheets("Saisie")
Set Plage = WS.Range("A2:A" & WS.Range("A1000").End(xlUp).Row)

    For Each Cell In Plage
    
        If Cell.Offset(0, 2) <> "" And Cell.Offset(0, 4) <> "" Then 'Si offset 2 "C" et offset 4 "E"
            'ton action...
        End If

    Next Cell

End Sub

@+Thierry
 
Voici un exemple de base :

VB:
Option Explicit

Sub Exemple()
Dim WS As Worksheet
Dim Cell As Range, Plage As Range

Set WS = ThisWorkbook.Worksheets("Saisie")
Set Plage = WS.Range("A2:A" & WS.Range("A1000").End(xlUp).Row)

    For Each Cell In Plage
   
        If Cell.Offset(0, 2) <> "" And Cell.Offset(0, 4) <> "" Then 'Si offset 2 "C" et offset 4 "E"
            'ton action...
        End If

    Next Cell

End Sub

@+Thierry
J ai adapté mais cela n'effectue pas la tache normalement il devrait verifier si la cellule suivante est différent de "" et effectuer sa recherche
 

Pièces jointes

  • Capture4.JPG
    Capture4.JPG
    49.6 KB · Affichages: 10
Re VinciHorus
Je ne sais pas je n'ai pas ton tableau.

Mais la boucle For Each Cell in Plage, passera sur toutes les cellules définies dans la Plage. C'est c'est 100% sûr et certain...

Maintenant dans l'exemple je cible la Plage sur
WS.Range("A2:A" & WS.Range("A1000").End(xlUp).Row)
Si la Colonne "A" est vide à toi de savoir où tu as des données pour faire le Set de ta Plage de Cellules.

Tu peux aussi faire une Boucle For i = 1 to 1000 ou WS.Range("A2:A1000") (Sans essayer de trouver la dernière celulle remplie)

Ensuite à toi de jouer avec les OffSet pour cibler sur "C" ou sur "E" (que tu apprends dans un autre Fil de Discussion... 😉

@+Thierry
 
- 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
9
Affichages
256
Réponses
1
Affichages
265
Réponses
4
Affichages
581
Réponses
5
Affichages
707
Réponses
4
Affichages
591
Retour