Boucle infernale, le retour

  • Initiateur de la discussion Initiateur de la discussion Spock
  • Date de début Date de début

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 !

Spock

XLDnaute Occasionnel
Bonjour toutes et tous,

Je me suis posé la question suivante il y a quelque jours en faisant une macro pour Jean.

J'ai déjà posé cette question, mais je ne fut pas assé précis.

Donc, une boucle repart 'logiquement', mais s'arrete apres 188 boucles. Ceci me laisse perplexe.

Voici la macro que j'ai 'bidouillé' avec un 'x' pour sortir de la boucle. Ca marche donc nickel, mais malgré cela, et une intervention d'un super membre, je reste un peu sur ma faim.

Pour pas mourrir dingue, une idée ?

Un fichier joint. Le but de la macro est de comptabilisé les choix en A d'une zone de validation.



Public x



Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell <> Sheets('feuil1').Range('a1') Then Exit Sub
If x = 1 Then
x = 0
Exit Sub
End If
x = x + 1

Select Case Sheets('feuil1').Range('a1').Formula

Case 'Oui'
Sheets('feuil1').Range('g1') = Sheets('feuil1').Range('g1') + 1

Case 'Non'
Sheets('feuil1').Range('g2') = Sheets('feuil1').Range('g2') + 1

Case 'Sans réponse'
Sheets('feuil1').Range('g3') = Sheets('feuil1').Range('g3') + 1

If x = 1 Then
x = 0
Exit Sub
End If
End Select

End Sub

[file name=validation_20050725200035.zip size=7271]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/validation_20050725200035.zip[/file]
 

Pièces jointes

Bonjour spock, Bebere

Je ne suis pas sur de comprendre quel est la condition qui fais que tu veux sortir de la boucle. Je ne vois pas le 188. Pas clair.

Mais je prend une chance avec ceci:
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets('feuil1')
If Target <> x Then Exit Sub
&nbsp; &nbsp;
Select Case .Range('a1').Formula
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Oui'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g1') = .Range('g1') + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Non'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g2') = .Range('g2') + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Sans réponse'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g3') = .Range('g3') + 1
&nbsp; &nbsp;
End Select
End With
x = Range('a1')
End Sub
 
re spock

J'ai compris plustard ce que tu voulais dire par le 188. Je ne suis pas sur de savoir pourquoi ça fait ça, mais je crois que cela a avoir avec l'ensemble des cellules comprisent dans la plage et le nombre de combinaison que le changement peut apporter. Mias seulement qu'un guess.
Donc je t'envoie une modif qui elle va fonctionner comme il faut.

Public x As Variant


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 7 Then
With Sheets('feuil1')
&nbsp; &nbsp;
Select Case x
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case Is = Target
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Exit Sub
&nbsp; &nbsp;
Case Else
&nbsp; &nbsp; &nbsp; &nbsp;
Select Case .Range('a1').Formula
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Oui'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g1').Formula = .Range('g1').Formula + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Non'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g2').Formula = .Range('g2').Formula + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Case 'Sans réponse'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Range('g3').Formula = .Range('g3').Formula + 1
&nbsp; &nbsp; &nbsp; &nbsp;
End Select
&nbsp; &nbsp;
End Select
End With
x = Range('a1')
End If
End Sub

a+
 
Hellboy écrit:
re spock

J'ai compris plustard ce que tu voulais dire par le 188. Je ne suis pas sur de savoir pourquoi ça fait ça, mais je crois que cela a avoir avec l'ensemble des cellules comprisent dans la plage et le nombre de combinaison que le changement peut apporter.

a+

Bonjour tout le monde :

Hellboy,

Voilà une piste interressante.
Je vais essayer de compter toutes les combinaisons possible.

Merci,
 
- 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
3
Affichages
615
Réponses
4
Affichages
375
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
244
Réponses
10
Affichages
512
Retour