Boucle sur commandbutton & userform à éviter

J0K068 Messages postés 32 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vais tenter d'explique mon problème, ci-joint mon fichier.
J'ai supprimé un plan correspondant à mon travail.
Userform1 est toujours actif et me sert de fenêtre de travail.
J'ai des commandbutton renomés lorsque là V1, V2, V3 etc etc etc et d'autres avec d'autres noms suivront lorsque j'aurais trouvé la solution à mon problème.
Lorsque je clic sur l'un d'entre eux, si ce dernier est vert alors il ouvre l'userform2 pour le mettre en rouge. S'il est à l'inverse rouge, il ouvre l'useform3 pour le mettre en vert.
Cependant à la fin de ce dernier, il réouvre automatiquement et celà sans fin l'userform2 pour le remettre en rouge.
Je ne trouve pas la solution à ce problème bloquant.
Je suis certain que c'est une petite erreur ....
Google déjà consulté bien entendu !
merci pour votre aide, je suis débutant en vba.
Ici : https://www.cjoint.com/c/GJmsXOdzSUY



--

8 réponses

  1. J0K068 Messages postés 32 Statut Membre
     
    Salut f894009,
    tout d'abord merci, je pensais que ce n'était pas grand chose.
    J'ai vu les modifications pour l'appeler l'userform.
    Tu as peut être vu d'autres erreurs dont je suis preneur, tant que ça ne ralenti pas ce dernier et que surtout ça facilite l'écriture des autres à venir ...
    Tu as peut être remarqué que le multipage ne s'affichait pas correctement, mais aussi que si tu changes de pages, par moment il disparait ...
    Tu aurais également la solution à ce problème éventuellement ?

    Encore merci pour mon dépatouillage des commandbutton's....

    --
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Je regarde la chose. Ceci-dit je n'ai pas un ecran geant, donc je vais faire des modif pour tester
      A+
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,

        fichier modifie pour probleme pages Multipage non vislbles: scroll userform1 sur affichage, changement de page Multipage

        https://mon-partage.fr/f/nUlK7ZVp/
        0
  2. J0K068 Messages postés 32 Statut Membre
     
    Un énorme merci !!!!!
    C'est vraiment bien de maitriser ce qu'on veut faire, je vous envie très franchement ....
    Personnellement pas le temps à tout ça, j'essai de faire des choses qui au final restent simple ....
    [RESOLU]
    --
    0
  3. J0K068 Messages postés 32 Statut Membre
     
    Bonjour,
    Je me permets de poursuivre ....
    Dans ce que tu as modifié, je souhaite utiliser MonBout pour lancer une macro dont le nom serait associé ...
    Je vais avoir tellement de commandbutton et de choses à réaliser qu'en fait je pense qu'organiser le travail par des macros c'est le plus simple ....
    Là, le problème c'est que vu que je ne maitrise pas VBA, j'ai des soucis avec les IF et ce qui va avec, ça relis constament et refait les actions alors que je ne souhaite pas que ça se passe .... bref
    Si je fais :
    run monbout
    Ceci me dont erreur d'execution 1004, impossible d'executer la macro 'V3' il est possible qu'elle ne soit pas disponible dans ce classeur .....
    Bref, est ce que ça vient du fait que ce soit un objet ?
    Merci

    --
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. J0K068 Messages postés 32 Statut Membre
     
    Bon j'ai enfin trouvé une autre solution, je passe par le commandbutton_click directement sauf que je dois renomer le call V3 en call Vanne3 .... Pas des soucis là dessus, un peu d'écriture mais rien de gênant ...
    Merci (j'ai cherché toute la nuit et ce matin aussi d'où le post ! ;)
    Bonne journée !

    --
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Vous pouvez remettre le fichier a dispo??
      Je vais voir ce qui pourrait vous aider
      0
    2. J0K068 Messages postés 32 Statut Membre
       
      Voici le fichier modifié en version macro...
      Il y a une macro qui vérifie certaines vannes ..... Vous verez la V4 et V5 et V6 fonctionne (sauf une ligne ajoutée si v4 alors ext sub sinon ça relancait un msgbox .... pas compris ...
      J'ai mis la matinée à comprendre que j'avais une erreur ...
      N'est il pas possible d'avoir une simplification dans tout ça ? Car j'ai mis toutes les possibilités à avoir pour lancer la chose .... ca risque d'etre compliqué en avancant dans ce projet, car le réseau : V2 V3 V5 V50 ca fait déjà beaucoup de possibilité ...
      > si c'est rouge alors ça fait qq chose, si l'une d'elle n'est plus rouge alors ça fait autre chose ...
      J'ai supprimé le plan car c'est un site à risque aux attentats ...
      Merci
      lien : https://www.cjoint.com/c/GJpoTIfUQjc
      D'avance merci pour l'aide !!!
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > J0K068 Messages postés 32 Statut Membre
       
      Bonjour,

      En effet, je regarde la chose

      A+
      0
    4. J0K068 Messages postés 32 Statut Membre
       
      ah le en effet me fait peur :(
      M E R C I
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > J0K068 Messages postés 32 Statut Membre
       
      Re,

      Le code pour les boutons vannes peut etre simplifie en utilisant un module de classe(top), mais sans module de classe peut aussi etre simplifie (moins top); Par contre vos equations etats de vannes(O/F) pourrait etre simplifiees en passant par des variables qui donnerait l'etats de groupes de vannes significatifs au lieu de tester systematiquement les x vannes considerees. You pige la chose ??
      Pour cela il vous faut regarder les decoupages possibles, ecrire betement toutes les equations sur papier ou sur des lignes excel et voir les regroupements de vannes adéquoats et aussi ce simplifier purement les equations
      0
  6. J0K0 Messages postés 167 Statut Membre 17
     
    Désolé, troisième réponse qui ne s'affiche pas ... bon ! journée de m**** !
    Après des recherches et une modif l'UF s'ouvre sur le 64 et 32 .... Cool ;)
    'ajouter l 'option zoom sur userform1
    Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long


    Par contre erreur dans les deux versions sur votre code ... :

    If Left(MonBout, 1) = "V" Then

    Une idée ? Je n'avais pas testé sans passer avant par la modif du 64/32 ....
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      If Left(MonBout, 1) = "V" Then

      teste si la premiere lettre a gauche de MonBout est egale a "V"

      Quelle erreur avez vous?? Parce que chez moi y a pas d'erreur

      Coabition 64/32 pour les API
      ' --- DECLARATION API WINDOWS
      #If VBA7 Then
        Private Declare PtrSafe Function ShellExecute _
          Lib "shell32.dll" _
          Alias "ShellExecuteA" ( _
            ByVal hwnd As LongPtr, ByVal lpOperation As String, _
            ByVal lpFile As String, ByVal lpParameters As String, _
            ByVal lpDirectory As String, ByVal nShowCmd As Long) _
          As LongPtr
      #Else
        Private Declare Function ShellExecute _
          Lib "shell32.dll" _
          Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, ByVal lpOperation As String, _
            ByVal lpFile As String, ByVal lpParameters As String, _
            ByVal lpDirectory As String, ByVal nShowCmd As Long) _
          As Long
      #End If
      0
  7. J0K0 Messages postés 167 Statut Membre 17
     
    Bon, le fichier ouvre bien l'UF mais pas toujours ... des fois les DLL sont manquantes et donc plante le fichier ...
    La galère !
    Je me dis qu'il faudrait quand même ajouter cette probabilité ... Je suppose que de plus en plus les ordinateurs passeront en 64 bits ...
    Je sens que je vais galérer encore ! :(
    En attendant, je ne sais pas si on peut se parler en privé, ça serait bien, j'avais une question à poser.
    Merci
    0
  8. J0K0 Messages postés 167 Statut Membre 17
     
    J'ai bien trouvé cette cohabitation mais je le mets où ?
    Où que je le mette ça ne fonctionne pas ...
    MErci
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      les ordinateurs passeront en 64 bits ...
      Oui, votre office est un 64 bits ou 32 bits car chez moi Windows en 64bits et office aussi donc chez vous qu'est ce qui a change?

      c'est un exemple pour la fonction ShellExecute, il faut modifier pour vos APIs
      0
    2. J0K0 Messages postés 167 Statut Membre 17
       
      Je suis au boulot mais j'ai accès à distance à mon pc : processeur M3 64bits et VBA 7.1 v.1048 excel 2016.
      Hmmmm il me semble que j'avais déjà une panique à bord à cause de cette version ....
      Pour l'erreur de monbout il me surligne le left.
      0
    3. J0K0 Messages postés 167 Statut Membre 17
       
      Bon :
      C'est pénible de l'un à l'autre ça diffère :
      Sur le PC du boulot VBA 7.0 ça fonctionne, j'ai trouvé pour la cohabitation, je l'ai mis dans thisworkbook.
      J'ai modifié la partie zoom où il faisait des erreurs dès l'ouverture comme indiqué au 28 ème message.
      Je confirme votre proposition fonctionne à merveille. MERCI !
      Chez moi sur ce nouveau pc le code left n'est pas compris : l'erreur est projet ou bibliothèque introuvable.
      Je ne comprends pas.
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > J0K0 Messages postés 167 Statut Membre
       
      Re,
      Si problème de DLL, va être laborieux pour continuer sur ce PC. Office 32 ou 64bits
      0
    5. J0K0 Messages postés 167 Statut Membre 17
       
      ok je vais voir pour éventuellement downgrader de version du coup ...
      Petite question : puis je utiliser l'option left pour sélectionner tous les controls d'un même début de nom ?
      Ou dois je procéder différemment ?
      0