Problème de boucle
Résolu
planchaa
Messages postés
5
Statut
Membre
-
planchaa -
planchaa -
Bonjour à tous,
Nous avons dû créer un projet sur visual basic en groupe et devons le rendre pour le 30 décembre. Je précise que c'est la première fois que nous utilisons ce programme.
Nous avons fait un bowling et tout marchait très bien or maintenant quand j'ouvre ma page excel avec le jeu le bouton start qui permet de faire bouger la boule de droite à gauche ne marche pas systématiquement. Il y a quelques heures quand j'ai ouvert mon programme il marchait et maintenant il ne marche plus alors que mes autres boutons fonctionnent parfaitement.
Ceci avec des contrôle de formulaires donc affectés des macros.
Nous avions tout fait avec des contrôles activeX mais à chaque ouverture du programme, les boutons changeait de noms (si quelqu'un peut m'expliquer pourquoi) donc j'ai tout refait avec des macros (contrôles de formulaire) et là juste le bouton start qui fait des caprices.
Ce bouton permet aussi de replacer les quilles et la boule ( avec leurs coordonnées) et ceci fonctionne mais la boule ne bouge pas! Donc j'en ai conclut qu'il y a un problème avec la boucle, mais puisqu'elle marche parfois je ne comprend pas.
J'ai tenté de le faire en userform, mais toujours le même problème ! Le bouton start qui marche 1 fois sur 2 !
Je ne comprend vraiment pas car notre code me semble bon...
S'il vous plait, si quelqu'un peut m'aider ce serait vraiment génial car je suis complètement perdu là!
Je vous envoie la boucle du bouton qui semble poser problème :
Nous avons dû créer un projet sur visual basic en groupe et devons le rendre pour le 30 décembre. Je précise que c'est la première fois que nous utilisons ce programme.
Nous avons fait un bowling et tout marchait très bien or maintenant quand j'ouvre ma page excel avec le jeu le bouton start qui permet de faire bouger la boule de droite à gauche ne marche pas systématiquement. Il y a quelques heures quand j'ai ouvert mon programme il marchait et maintenant il ne marche plus alors que mes autres boutons fonctionnent parfaitement.
Ceci avec des contrôle de formulaires donc affectés des macros.
Nous avions tout fait avec des contrôles activeX mais à chaque ouverture du programme, les boutons changeait de noms (si quelqu'un peut m'expliquer pourquoi) donc j'ai tout refait avec des macros (contrôles de formulaire) et là juste le bouton start qui fait des caprices.
Ce bouton permet aussi de replacer les quilles et la boule ( avec leurs coordonnées) et ceci fonctionne mais la boule ne bouge pas! Donc j'en ai conclut qu'il y a un problème avec la boucle, mais puisqu'elle marche parfois je ne comprend pas.
J'ai tenté de le faire en userform, mais toujours le même problème ! Le bouton start qui marche 1 fois sur 2 !
Je ne comprend vraiment pas car notre code me semble bon...
S'il vous plait, si quelqu'un peut m'aider ce serait vraiment génial car je suis complètement perdu là!
Je vous envoie la boucle du bouton qui semble poser problème :
Public score As Integer
Public bonj As Integer
Sub start ()
'là il y a normalement tout le code pour placer les quilles et la boule
bonj = 0 'utile pour sortir de la boucle
secondes = 0.002 'vitesse de la boule
For ii = 1 To 3 'répéter l'action 3 fois
For i = 1 To 443 Step 3
Timer_avant = Timer
Do While (Timer < Timer_avant + secondes) And bonj = 0
DoEvents
Loop
Sheets("Feuil1").Shapes("BOULE").Left = 443 - i
'la boule se déplace a vitesse constante vers sa position finale
Next
For i = 1 To 443 Step 3
Timer_avant = Timer
Do While (Timer < Timer_avant + secondes) And bonj = 0
DoEvents
Loop
Sheets("Feuil1").Shapes("BOULE").Left = 0 + i
'la boule revient de la meme facon à sa position de départ
Next
Next
'CommandButton1.Visible = False
'je ne sais pas comment rendre des boutons issuent de contrôles de formulaire invisibles..
End Sub
A voir également:
- Problème de boucle
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Smart tv qui s'allume et s'éteint en boucle - Forum Téléviseurs
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Vlc lecture en boucle ✓ - Forum Lecteurs et supports vidéo
11 réponses
Bonjour,
peut-^tre:
Il y a actuellement une mise à jour "foireuse" de Microsoft sur les contrôles activeX installés sur une feuille de calcul
voir
https://forums.commentcamarche.net/forum/affich-31191567-bouton-macro-bloque
avec un lien intéressant vers un autre forum;
tu peux spprimmer tous les .exd
mais les numéros des boutons commencent alors par 21 !
Bon courage
Michel
peut-^tre:
Il y a actuellement une mise à jour "foireuse" de Microsoft sur les contrôles activeX installés sur une feuille de calcul
voir
https://forums.commentcamarche.net/forum/affich-31191567-bouton-macro-bloque
avec un lien intéressant vers un autre forum;
tu peux spprimmer tous les .exd
mais les numéros des boutons commencent alors par 21 !
Bon courage
Michel
Bonjour et merci michel_m pour ton aide, j'ai essayé de supprimer et même de renommer cette mise à jour mais cela ne change rien, mes boutons activeX sont inutilisables. Et même si j'y arrivait, en l'envoyant à mon enseignant, est ce qu'il ne faudrait pas qu'il supprime cette mise à jour également ?
J'abandonne l'idée des boutons activeX, comme j'ai aussi tout refait avec des contrôles de formulaires je n'aurais plus que le problème de ma boucle...
J'abandonne l'idée des boutons activeX, comme j'ai aussi tout refait avec des contrôles de formulaires je n'aurais plus que le problème de ma boucle...
Bonjour
en l'envoyant à mon enseignant, est ce qu'il ne faudrait pas qu'il supprime cette mise à jour également ? --
Effectivement! mais le mieux serait peut-^tre de lui signaler le problème avant l'envoi en lui copiant-collant les url des discussions sur CCM et DVP
en l'envoyant à mon enseignant, est ce qu'il ne faudrait pas qu'il supprime cette mise à jour également ? --
Effectivement! mais le mieux serait peut-^tre de lui signaler le problème avant l'envoi en lui copiant-collant les url des discussions sur CCM et DVP
Oui c'est une solution, merci michel_m, si jamais je n'arrive vraiment pas à résoudre mon problème de boucle c'est ce que je ferai.
Si quelqu'un peut m'aider ce serait génial, s'il vous plait!!
Si quelqu'un peut m'aider ce serait génial, s'il vous plait!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
excuses moi, je m'étais braquer sur l 'activeX
j'ai retrouvé cette tvieille bidouille VBA (xl2000) dans mon grenier
mais je n'ai jamais compris pourquoi "left" déplacait vers la droite... :-\
j'ai retrouvé cette tvieille bidouille VBA (xl2000) dans mon grenier
ActiveSheet.Shapes("Picture 3").IncrementLeft 200
mais je n'ai jamais compris pourquoi "left" déplacait vers la droite... :-\
Merci mais cela ne change rien, j'utilise toujours la même boucle...je ne sais vraiment plus quoi faire :(
Left permet de deplacer horizontalement; c'est plus ou moins à gauche en fait je crois
Left permet de deplacer horizontalement; c'est plus ou moins à gauche en fait je crois
Chez moi ca se déplace en incrémentant et non par modification de la position left
https://www.cjoint.com/?3LCsgK3qiFV
XL2007 VBA et non Vb comme tu l'indiques
Michel
https://www.cjoint.com/?3LCsgK3qiFV
XL2007 VBA et non Vb comme tu l'indiques
Michel
Génial, merci beaucoup michel_m!! J'ai repris ton code et cela m'a effectivement l'air de marcher, j'espère qu'il marchera encore demain!
Quelle est la différence entre VBA et Vb ?
Et sais tu comment on fait pour rendre invisible ou inutilisable des boutons issuent de contrôles de formulaire ? Avec activeX il suffit d'utiliser leurs propriétés (Enabled, Visible) mais avec les contrôles de formulaire il n'y a pas de propriétés donc je ne vois pas comment faire..
Quelle est la différence entre VBA et Vb ?
Et sais tu comment on fait pour rendre invisible ou inutilisable des boutons issuent de contrôles de formulaire ? Avec activeX il suffit d'utiliser leurs propriétés (Enabled, Visible) mais avec les contrôles de formulaire il n'y a pas de propriétés donc je ne vois pas comment faire..
Bonjour,
comment on fait pour rendre invisible ou in...
Non, je ne vois pas
Mais une fois viré les ".edx", tu peux réinsérer un activeX et le renommer Btn_start par ex (c'est mieux que commandbutton21 et généralement apprécié pour faciliter la la compréhension pour la maintenance)
VBA est une variante spécialisée de Vb utilisable que sur MSOFFICE
VB est éxécutable, VBA non
Vb travaille à partir d'un formulaire, VBa à partir du logiciel utilisé (excel, access), etc.
Maintenant, si ca marche un jour et pas un autre, c'est un autre problème lié à excel ---> réparation avec le Cd, sécurité... si il n'y a pas eu un oubli de sauvegarde (ca, je sais bien faire)
Michel
comment on fait pour rendre invisible ou in...
Non, je ne vois pas
Mais une fois viré les ".edx", tu peux réinsérer un activeX et le renommer Btn_start par ex (c'est mieux que commandbutton21 et généralement apprécié pour faciliter la la compréhension pour la maintenance)
VBA est une variante spécialisée de Vb utilisable que sur MSOFFICE
VB est éxécutable, VBA non
Vb travaille à partir d'un formulaire, VBa à partir du logiciel utilisé (excel, access), etc.
Maintenant, si ca marche un jour et pas un autre, c'est un autre problème lié à excel ---> réparation avec le Cd, sécurité... si il n'y a pas eu un oubli de sauvegarde (ca, je sais bien faire)
Michel
Bonjour,
Pour rendre visible ou invisible un bouton formulaire, faire l'essai avec 3 boutons:
ensuite supprimer cette mise à jour pour récupérer les boutons formulaire:
Security Update for Microsoft Office 2007 suites (KB2596927)
anneau de configuration-Programmes-Programmes et fonctionnalités-Mises à jour installées
Clic droit sur la mise à jour: Désinstaller
N'oubliez pas de désactiver les mises à jour automatique, sinon rebelote
Pour rendre visible ou invisible un bouton formulaire, faire l'essai avec 3 boutons:
Option Explicit
Dim myDocument
Sub Bouton1_Clic()
Set myDocument = Worksheets(1)
myDocument.Shapes(3).Visible = False
End Sub
Sub Bouton2_Clic()
Set myDocument = Worksheets(1)
myDocument.Shapes(3).Visible = True
End Sub
Sub Bouton3_Clic()
test
End Sub
Sub test()
Dim img As Object
For Each img In Worksheets(1).Shapes
MsgBox img.Name
Next
End Sub
ensuite supprimer cette mise à jour pour récupérer les boutons formulaire:
Security Update for Microsoft Office 2007 suites (KB2596927)
anneau de configuration-Programmes-Programmes et fonctionnalités-Mises à jour installées
Clic droit sur la mise à jour: Désinstaller
N'oubliez pas de désactiver les mises à jour automatique, sinon rebelote