Valeur cellule avec boucle do while

Bonjour à tous

voici mon code qui fonctionne

Dim i As Integer
 Dim i2 As Integer
i = 2
 i2 = 3
Do While Cells(i, 1).Value <> ""

If Worksheets("Feuil1").Range("A" & i) = "A" Then Worksheets("Feuil2").Range("A" & i2) = "vrai"

i = i + 1
 i2 = i + 1
Loop

je n'arrive pas a lui "dire" de copier la réponse vrai non pas sur la colonne A mais sur la ligne 2 a partir de la colonne c "C2"

merci de votre aide

Greg

Bonjour Greg, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim F1 As Worksheet 'déclare la variable F1
Dim F2 As Worksheet 'déclare la variable F2
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Long 'déclare la variable I (Incrément)
Dim COL As Integer 'déclare la variable COL (COLonne)

Set F1 = Worksheets("Feuil1") 'définit l'onglet F1
Set F2 = Worksheets("Feuil2") 'définit l'onglet F2
DL = F1.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet F1
COL = 3 'initialise la variable COL (3 = Colonne C)
For I = 2 To DL 'boucle sur toutes les lignes I de 2 à DL
    'si la valeur de la cellule ligne I colonne A de l'onglet F1 est égale à "A",
    'renvoie "vrai"dans la cellule ligne 2 colonne COL de l'onglet F2
    If F1.Cells(I, 1).Value = "A" Then F2.Cells(2, COL).Value = "vrai"
    COL = COL + 1 'incrémente la colonne COL
Next I 'prochaine ligne de la boucle
End Sub

Re ,

merci ThauThème çà fonctionne très bien, j'ai légèrement modifier le code pour remplacer la feuil 2 par un classeur.

Je mets le code si ça peut servir à d'autre

Set WB = ActiveWorkbook
thefile = Application.GetOpenFilename
Set WB2 = Workbooks.Open(thefile)

 Dim F1 As Worksheet 'déclare la variable F1
Dim F2 As Worksheet 'déclare la variable F2
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Long 'déclare la variable I (Incrément)
Dim COL As Integer 'déclare la variable COL (COLonne)

Set F1 = WB.Sheets("Feuil1") 'définit l'onglet F1
Set F2 = WB2.Sheets("Feuil1") 'définit l'onglet F2
DL = F1.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet F1
COL = 3 'initialise la variable COL (3 = Colonne C)
For I = 2 To DL 'boucle sur toutes les lignes I de 2 à DL
   'si la valeur de la cellule ligne I colonne A de l'onglet F1 est égale à "A",
   'renvoie "vrai"dans la cellule ligne 2 colonne COL de l'onglet F2
 ' If F1.Cells(I, 1).Value = "A" Then F2.Cells(2, COL).Value = "vrai"
  'If F1.Cells(I, 1).Value = "A" Then F2.Cells(3, COL).Value = "vrai"

    If F1.Cells(I, 1).Value = "B" Then F2.Cells(2, COL).Value = "faux"
   ' If F1.Cells(I, 1).Interior.ColorIndex = 1 Then F2.Cells(2, COL).Value = "jjjjjj"

    COL = COL + 1 'incrémente la colonne COL
Next I 'prochaine ligne de la boucle

Merci encore pour t'on aide

Greg

Rechercher des sujets similaires à "valeur boucle while"