Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

do while, boucle et conditions particuliéres

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 !

bertgrav

XLDnaute Occasionnel
bonjour,

je voudrais réaliser une extraction en feuille f2 des données de colonnes A en feuille f1 si:
la cellule en colonne B est renseignée "oui", mais l'extraction doit se faire en colonne de 10 maximum (la feuille f3 donne dans l'exemple le résultat final désiré, l'ordre de sorti sur la colonne n'a pas d'importance, ce qui est important cela doit être des paquets de 10 maximum)


j'ai essayé avec la condition do...while, mais je n'y arrive pas


merci pour votre aide

chantal
 

Pièces jointes

Re : do while, boucle et conditions particuliéres

Bonjour
Je pense que la macro ci dessous convient
Sub boucle()
Dim lig As Integer
Dim col As Integer
Dim y As Integer
lig = 1
col = 1
For y = 1 To Sheets("f1").Range("a65536").End(xlUp).Row
If Sheets("f1").Range("b" & y).Value = "oui" Then
Sheets("f2").Cells(lig, col).Value = Sheets("f1").Range("a" & y).Value
lig = lig + 1
If lig > 10 Then
lig = 1
col = col + 1
End If
End If
Next
End Sub

A+ François
 
Re : do while, boucle et conditions particuliéres

impeccable,

par contre si quelqu'un pouvait me donner le code avec l'utilisation de do....while, je prends volontier pour mettre dans mes archives perso.

merci

chantal
 
Re : do while, boucle et conditions particuliéres

Bonjour Chantal, François

avec l'utilisation d'une boucle "do", cela pourrait être codé comme ceci :

Code:
Option Explicit
Sub boucle()
Dim i As Integer, j As Integer, k As Integer
i = 1
j = 1
k = 1
With Sheets("f1")
    Do While .Range("A" & i).Value <> ""
         If .Range("A" & i).Offset(0, 1).Value = "oui" Then
            Sheets("f2").Cells(j, k).Value = .Range("A" & i).Value
            j = IIf(j < 10, j + 1, 1)
            k = IIf(j = 1, k + 1, k)
         End If
    i = i + 1
    Loop
End With
End Sub

bonne journée
@+
 
- 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
20
Affichages
1 K
B
Réponses
2
Affichages
2 K
bastienb
B
V
Réponses
4
Affichages
1 K
V
C
Réponses
0
Affichages
1 K
Cerealkiller57
C
G
Réponses
3
Affichages
1 K
greg63
G
S
Réponses
32
Affichages
3 K
Snoopy6102000
S
M
Réponses
6
Affichages
2 K
Maryloo2005
M
G
Réponses
13
Affichages
2 K
gillesbe
G
K
Réponses
0
Affichages
3 K
K
J
Réponses
25
Affichages
13 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…