Balayage alternatif de cellules dans plage

loto

XLDnaute Occasionnel
Bonsoir,

Je souhaite balayer chacune des cellules d'un range A4:Axxx pour générer une action à l'issue de chaque examen. Il est indispensable de s'arrêter à l'issue de cette action car, en fonction du résultat, je fais l'examen suivant.
Là où je suis en train de m'énerver, c'est que je ne sais pas l'écrire correctement, je ne parviens par à m'arrêter.

Un exemple trivial pour comprendre

En A En B

4 garcon Az
5 garcon
6 fille
7 fille
...

Je veux balayer chaque cellule de A4 à Ax (les cellules non vides uniquement)
Pour A4, je regarde si A4=garcon et si A4=garcon et que B4 est vide, alors j'écris "B", s'il n'est pas vide, je passe
Puis je passe à A5 :Idem , si garcon et vide en B5, alors "gg", sinon je passe

C'est l'examen du vide qui est essentiel : il faut donc que la précédente action ait été accomplie

Savez-vous jouer mieux que moi avec les références?

Merci
 

loto

XLDnaute Occasionnel
Re : Balayage alternatif de cellules dans plage

Salut,

Cela ressemble bcp à ce que j'avais écrit (sauf next X) et cela m'écrivait le "B" x fois à la fin car justement, je ne prenais pas la peine de m'arrêter à chaque ligne pour examiner le résultat.

Je n'ai pas mon fichier sous la main mais je vais tester.

Merci
 

loto

XLDnaute Occasionnel
Re : Balayage alternatif de cellules dans plage

J'ai testé ton code qui hélàs ne rend pas de résultat attendu
Je poste un fichier pour que vous compreniez : qd vous activerez USF, au lieu de m'écrire un truc en A4 puis de passer en A5, j'aurai la même info en A4/5 alors que ce sont des évènements différents.
Cela marche bien si une seule valeur en A et hors controle, bug dès qu'il y en a +
 

Pièces jointes

  • usf.xls
    28 KB · Affichages: 77
  • usf.xls
    28 KB · Affichages: 76
  • usf.xls
    28 KB · Affichages: 79

ROGER2327

XLDnaute Barbatruc
Re : Balayage alternatif de cellules dans plage

Bonjour à tous
Pas sûr d'avoir bien compris...
Ceci peut-être :
Code:
[COLOR="DarkSlateGray"][B]Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim cel As Range
  For Each cel In Range("A1:A35")
    If Not IsEmpty(cel) And cel.Offset(, 1) = "" Then
      If cel.Value > 10 Then
        cel.Offset(, 1).Value = Me.ComboBox2 & "-" & DateTime.Now
        Exit For
      End If
    End If
  Next cel
End Sub[/B][/COLOR]
ROGER2327
#4314


Mardi 10 Haha 138 (Saint Panmuphle, huissier, SQ)
24 Vendémiaire An CCXIX
2010-W41-5T09:43:08Z
 

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 863
Membres
104 293
dernier inscrit
blondo