[Déplacé .Net --> VBA] ecriture de suite automatique

thomthom27 Messages postés 6 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 17 septembre 2009 - 29 juil. 2009 à 10:48
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 29 juil. 2009 à 11:45
Bonjour , je souhaite dans la colonne K inscrire des suites 1, 2, 3, 1, 2, 3...... ces suites commencent à ligne i+1 lorsque dans i j'ai la valeur 0. Le problème que je rencontre et que les 0 n'apparaissent pas de façon constante (toute les x lignes) et que la suite 1, 2, 3, 1, 2, 3...... ne finie pas toujours à 3 elle s'arrête lorsque je tombe sur un 0.
j'espère été plus claire.
merci d'avance

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
29 juil. 2009 à 11:45
Salut
Toujours cette catégorie mal choisie ...
Toujours cette même question mal posée ...
On a bien compris ton problème, la seule chose, c'est qu'on ne sait pas d'où sort ce 'i'
"ces suites commencent à ligne i+1" : 'i' est donc le n° de ligne
Comment peut-il être à 0 ?
Un exemple aurait été plus parlant

Deux simples boucles imbriquées font l'affaire :
For x1 = LigneDébut To LigneFin
  If Cells(x1, 11) 0 Then  ' 11 Colonne K
    Cells(x1, 11).Select
    ActiveCell.Value = 1
    x2 = 2 ' Init compteur pour ,la prochaine ligne
    ActiveCell.OffSet(1, 0).Select  ' Ligne suivante
    ' Si la cellule vaut 0, on sort
    Do While ActiveCell.Value <> 0
      ActiveCell.Value = x2
      x2 = x2 + 1  ' Incrémente compteur
      If x2 > 3 Then x2 = 1  ' ReInit compteur si > 3
      ActiveCell.OffSet(1, 0).Select  ' Ligne suivante
      DoEvents
    Loop
    ' Prochaine ligne = dernière ligne traitée
    x1 = ActiveCell.Row
  End If
Next x1


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0