pb Boucle / remplir une colonne en fonction d'une autre

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

GADENSEB

XLDnaute Impliqué
Bonjour !
J'ai un soucis avec une boucle

Je cherche à renseigner la colonne D avec "RDV OK" si dans la colonne C il y a "OK"

Où est le soucis ?


Merci par avance

Seb

Code:
Sub test()
Dim i As Integer
j As Integer

For i = 2 To 11
j = Range("d2").End(xlDown).Row
If Range("C", i).Value = "OK" Then
Cells("j", 1) = "RDV OK"
End If
i = i + 1
Next i

End Sub
 

Pièces jointes

Re : pb Boucle / remplir une colonne en fonction d'une autre

Bonjour GADENSEB.


VB:
Sub test()
Dim i As Integer

  For i = 2 To 11
    If Range("C" & i).Value = "OK" Then Range("D" & i) = "RDV OK"
  Next i

End Sub
devrait suffire.​


Bonne journée.


ℝOGER2327
#7327


Jeudi 19 Palotin 141 (Occultation de Saint Gauguin, océanide - fête Suprême Quarte)
19 Floréal An CCXXII, 5,9201h - arroche
2014-W19-4T14:12:30Z
 
Re : pb Boucle / remplir une colonne en fonction d'une autre

Bonjour GADENSEB

A tester:

Code:
Sub test()
Dim i As Integer
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Range("C" & i).Value = "OK" Then
Cells(i, "D") = "RDV OK"
End If
Next i
End Sub

EDit: Bonjour ROGER (Avais pas rafraîchi !)
 
Re : pb Boucle / remplir une colonne en fonction d'une autre

Suite... (bonjour pierrejean)

La question est :​
(...)
Où est le soucis ?
(...)
Voici quelques éléments de réponse :​
VB:
Sub test()
Dim i As Integer
j As Integer 'erreur il manque Dim devant j

For i = 2 To 11
j = Range("d2").End(xlDown).Row 'erreur car j est déclaré comme Integer
'il faut le déclarer comme Long
If Range("C", i).Value = "OK" Then 'erreur : une syntaxe correcte est Range("C" & i)
Cells("j", 1) = "RDV OK" 'erreur : une syntaxe correcte est Cells(j, 1) ou
'Cells(1, j) selon que j est l'index de ligne ou l'index de colonne
End If
i = i + 1 'Si on veut aller de deux lignes en deux lignes, il vaudrait mieux
'commencer la boucle par
'For i = 2 To 11 Step 2
'et supprimer
'i = i + 1
Next i

End Sub
N'hésitez pas à recourir à la touche magique F1 : la lecture attentive de l'aide généreusement fournie par le Bill's gang permet de se sortir de plus d'un mauvais pas...


ℝOGER2327
#7328


Jeudi 19 Palotin 141 (Occultation de Saint Gauguin, océanide - fête Suprême Quarte)
19 Floréal An CCXXII, 6,0635h - arroche
2014-W19-4T14:33:09Z
 
Re : pb Boucle / remplir une colonne en fonction d'une autre

Merci à tous les deux !
Les codes sont super.
Par contre :
Comment faire si j'enléve la valeur OK dans la colonne C
Le "RDV OK", ne disparaît pas ....

Comment contourner la chose ?

Merci

Seb
 
Re : pb Boucle / remplir une colonne en fonction d'une autre

Re...


Merci à tous les deux !
Les codes sont super.
Par contre :
Comment faire si j'enléve la valeur OK dans la colonne C
Le "RDV OK", ne disparaît pas ....

Comment contourner la chose ?

Merci

Seb
En modifiant le code :​
VB:
Sub test()
Dim i As Integer

  For i = 2 To 11
    If Range("C" & i).Value = "OK" Then Range("D" & i).Value = "RDV OK" Else Range("D" & i).Value = Empty
  Next i

End Sub

Une autre possibilité est d'utiliser une procédure évènementielle qui mettra la feuille à jour sans utiliser de bouton : Voir le deuxième onglet du classeur joint, avec ce code :​
VB:
Private Sub Worksheet_Change(ByVal Cible As Range)
Dim Plg As Range, Cel As Range
  Set Plg = Intersect(Cible, Range("C2:C11"))
  If Not Plg Is Nothing Then
    For Each Cel In Plg.Cells
      If Cel.Value = "OK" Then Cel.Offset(, 1).Value = "RDV OK" Else Cel.Offset(, 1).Value = Empty
    Next
  End If
End Sub


ℝOGER2327
#7330


Jeudi 19 Palotin 141 (Occultation de Saint Gauguin, océanide - fête Suprême Quarte)
19 Floréal An CCXXII, 6,3275h - arroche
2014-W19-4T15:11:09Z
 

Pièces jointes

- 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
8
Affichages
595
Réponses
4
Affichages
436
Réponses
2
Affichages
332
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
842
Réponses
4
Affichages
611
Retour