do while, boucle et conditions particuliéres

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

  • boucle do while.xls
    32.5 KB · Affichages: 63

fanfan38

XLDnaute Barbatruc
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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

Discussions similaires

Réponses
3
Affichages
718

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha