Remplissage cellule itératif

morest

XLDnaute Occasionnel
Bonjour à tous,

Après ne pas avoir eu trop de mal à continuer le programme sur lequel je boss depuis bientôt 3 mois me voici bloqué par un problème atroce :p.

Voilà je dispose d'un tableau de valeur assez conséquent. La première colonne indice 0 ou 1 en fonction de la valeur de la cellule située à droite de cette dernière.

Seul les cellules affichant 1 m'intéressent. J'aimerais faire une macro qui va venir de haut en bas checker si la cellule vaut 1 ou 0. Lorsque cette cellule sera égale à 1 alors la macro devra changer une cellule situé 4 colonne à droite d'elle même et inscrire 1. La deuxième fois où la macro trouve 1 alors la cellule également 4 colonnes à droite devra afficher 2, ensuite 3 et ainsi de suite jusqu'à ce que la macro s'arrête.

Je pense que ma demande est assez complexe, enfin j'espère sinon je suis le roi des idiots :p.

Merci d'avance à toute personne ayant pris le temps de lire mon post.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Remplissage cellule itératif

Bonjour Morest, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim x As Integer 'décalre la variable x (incrément)
 
'boucle sur toutes les cellules éditées cel de la colonne A
For Each cel In Range(Cells(1, 1), Cells(Application.Rows.Count, 1).End(xlUp))
    If cel.Value = 1 Then 'condition : si la valeur de la cellule est 1
        x = x + 1 'incrémente x de 1
        cel.Offset(0, 4).Value = x 'donne à la cellule 4 colonnes à droite de cel la valeur de x
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub

[Édition]

Bonjour Softmama on s'est croisé
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Remplissage cellule itératif

Bonjour,

à la volée, donc faudra tester.
Si ta colonne à tester est la colonne A:
VB:
Sub checklacolonne
dim c as Range, n as Integer
n = 1
Set c=Range("A1") 'A adapter (cellule de départ)
Do while c <> ""
    If c = 1 then
        c(1, 5) = n
        n = n +1
    end if
    set c = c(2,1)
Loop
end sub
 
Dernière édition:

morest

XLDnaute Occasionnel
Re : Remplissage cellule itératif

Merci beaucoup je vais tester tout ca immédiatement.

Edit : Ca marche nikel, j'avais commencé par le code de softmama mais j'avais pas du bien le comprendre du coup j'y suis arrivé avec celui de Robert.

Encore un grand merci.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 373
dernier inscrit
Edouard007