VBA - Condition et Do Loop
Fermé
questionVBA
Messages postés
4
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009
-
22 avril 2009 à 18:03
questionVBA Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009 - 24 avril 2009 à 13:34
questionVBA Messages postés 4 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009 - 24 avril 2009 à 13:34
A voir également:
- VBA - Condition et Do Loop
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Fichier do - Forum Windows
- Find vba - Astuces et Solutions
- Xwxwxwxwv songs do 2023 ✓ - Forum Audio
4 réponses
Utilisateur anonyme
22 avril 2009 à 19:07
22 avril 2009 à 19:07
Il y avait peut-être une solution plus "Excel" , mais celle ci devrait fonctionner:
i = 4
k = 3
While Worksheets("TdB").Cells(i, 1).Value <> ""
If Worksheets("TdB").Cells(i, 9).Value = "X" Then
For j = 1 To 3
Worksheets("PrésenceAS").Cells(k, j).Value = Worksheets("TdB").Cells(i, j).Value
k = k + 1
Next j
End If
i = i + 1
wend
Bon courage!
i = 4
k = 3
While Worksheets("TdB").Cells(i, 1).Value <> ""
If Worksheets("TdB").Cells(i, 9).Value = "X" Then
For j = 1 To 3
Worksheets("PrésenceAS").Cells(k, j).Value = Worksheets("TdB").Cells(i, j).Value
k = k + 1
Next j
End If
i = i + 1
wend
Bon courage!
Utilisateur anonyme
23 avril 2009 à 12:26
23 avril 2009 à 12:26
je souhaiterais pouvoir copier A4:C4 sur A3:C3
J'avais lu un peu vite, j'y retourne!
Utilisateur anonyme
23 avril 2009 à 18:06
23 avril 2009 à 18:06
CA merchera mieux comme ça:
As-tu une autre solution ?
i = 4 k = 3 While Worksheets("feuil2").Cells(i, 1).Value <> "" If Worksheets("feuil2").Cells(i, 9).Value = "X" Then For j = 1 To 3 Worksheets("feuil3").Cells(k, 1).Value = Worksheets("feuil2").Cells(j + i - 1, 1).Value k = k + 1 Next j End If i = i + 3 Wend
As-tu une autre solution ?
questionVBA
Messages postés
4
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009
24 avril 2009 à 09:21
24 avril 2009 à 09:21
J'ai rajouté deux petites lignes, car avec le programme, seule la colonne A était copiée,
Finalement ca donne ca :
Sub PAS()
i = 4
k = 3
While Worksheets("TdB").Cells(i, 1).Value <> ""
If Worksheets("TdB").Cells(i, 9).Value = "x" Then
For j = 1 To 3
Worksheets("PrésenceAS").Cells(k, 1).Value = Worksheets("TdB").Cells(j + i - 1, 1).Value
Worksheets("PrésenceAS").Cells(k, 2).Value = Worksheets("TdB").Cells(j + i - 1, 2).Value
Worksheets("PrésenceAS").Cells(k, 3).Value = Worksheets("TdB").Cells(j + i - 1, 3).Value
k = k + 1
Next j
End If
i = i + 3
Wend
End Sub
En fait le programme ne prend pas en compte la condition, il copie tout le monde, meme ceux pour lesquels la colonne I n'est pas cochée.
Finalement ca donne ca :
Sub PAS()
i = 4
k = 3
While Worksheets("TdB").Cells(i, 1).Value <> ""
If Worksheets("TdB").Cells(i, 9).Value = "x" Then
For j = 1 To 3
Worksheets("PrésenceAS").Cells(k, 1).Value = Worksheets("TdB").Cells(j + i - 1, 1).Value
Worksheets("PrésenceAS").Cells(k, 2).Value = Worksheets("TdB").Cells(j + i - 1, 2).Value
Worksheets("PrésenceAS").Cells(k, 3).Value = Worksheets("TdB").Cells(j + i - 1, 3).Value
k = k + 1
Next j
End If
i = i + 3
Wend
End Sub
En fait le programme ne prend pas en compte la condition, il copie tout le monde, meme ceux pour lesquels la colonne I n'est pas cochée.
Utilisateur anonyme
24 avril 2009 à 12:10
24 avril 2009 à 12:10
Initialement :
C'est ce que faisait la première proposition, mais réponse:
correction dans ce sens, mais réponse:
Ben oui c'est le besoin exprimé
La prochaine fois précise bien le besoin au départ.
Bonne poursuite
je souhaiterais pouvoir copier A4:C4 sur A3:C3
C'est ce que faisait la première proposition, mais réponse:
le nom est copié, puis la ligne en dessous le prénom, puis la ligne en dessous la classe, au lieu d'être copié sur la meme ligne.
correction dans ce sens, mais réponse:
seule la colonne A était copiée
Ben oui c'est le besoin exprimé
La prochaine fois précise bien le besoin au départ.
Bonne poursuite
questionVBA
Messages postés
4
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009
24 avril 2009 à 13:34
24 avril 2009 à 13:34
Je pensais que c'était clair,
Copier A4:C4 de la feuille 1 dans A3:C3 de la feuille 2 , si I4="x" dans la feuille 1 , et cela pour toutes les lignes de la feuille 1
Copier A4:C4 de la feuille 1 dans A3:C3 de la feuille 2 , si I4="x" dans la feuille 1 , et cela pour toutes les lignes de la feuille 1
23 avril 2009 à 11:47
Dans l'onglet "PrésenceAS", le nom est copié, puis la ligne en dessous le prénom, puis la ligne en dessous la classe, au lieu d'être copié sur la meme ligne.