Utilisation Unload à la place de Hide
thesentry
Messages postés
1092
Statut
Membre
-
thesentry Messages postés 1092 Statut Membre -
thesentry Messages postés 1092 Statut Membre -
Bonjour,
J'apprends doucement le VBA et je souhaiterais utiliser Unload à la place de Hide pour tout réinitialiser parce que actuellement, je fais :
...
ainsi de suite.
En gros, sur une UF, j'ai une liste de boutons d'options, et en fonction de celle que je choisis, cela m'emmène sur une autre UF. L'information sélectionnée est stocké dans un tableau et ça passe à l'UF suivante. Mais à chaque fois, j'attribue la valeur False à toutes les options possibles pour que, si je reviens en arrière, l'information ne soit pas déjà sélectionnée.
Mais quand j'utilise unload, ma macro s'arrête quand j'ai cliqué sur l'option que j'ai choisi alors que je devrai arriver sur l'UF qui est dans la continuité.
Si je ne suis pas clair, dites le moi.
Merci d'avance
J'apprends doucement le VBA et je souhaiterais utiliser Unload à la place de Hide pour tout réinitialiser parce que actuellement, je fais :
XX.hide YY = false RR = false AA = false
...
ainsi de suite.
En gros, sur une UF, j'ai une liste de boutons d'options, et en fonction de celle que je choisis, cela m'emmène sur une autre UF. L'information sélectionnée est stocké dans un tableau et ça passe à l'UF suivante. Mais à chaque fois, j'attribue la valeur False à toutes les options possibles pour que, si je reviens en arrière, l'information ne soit pas déjà sélectionnée.
Mais quand j'utilise unload, ma macro s'arrête quand j'ai cliqué sur l'option que j'ai choisi alors que je devrai arriver sur l'UF qui est dans la continuité.
Si je ne suis pas clair, dites le moi.
Merci d'avance
2 réponses
-
Les boutons option sont par défaut à False.
Je suppose que derrière chaque BtOption, tu ouvres un UF spécifique.
Essaies ça:
Private Sub cu_Click() Unload Me Q1.Show End Sub
-
Non, ça ne fonctionne pas. Mais je viens de voir qu'est join à la partie sur laquelle je travaille, un code de dingue, le début est ci dessous :
Sub test2() Dim DerniereCelluleRemplie Dim t As String retour = 1 DerniereCelluleRemplie = Columns("A:A").Find("*", Range("A1"), , , xlByRows, xlPrevious).Row - 1 t = Range("a65536").End(xlUp).Offset(-1, 0).Value Range("a65536").End(xlUp).Value = "" If t = "Qa" Then Qa.Show If t = "desserte" Then desserte.Show If t = "Q1" Then Q1.Show If t = "Q1b" Then Q1b.Show If t = "Q1d" Then Q1d.Show
..... ainsi de suite avec toutes les UF qui constituent le logiciel.
(Je dois reprendre un logiciel qui a été développé par une autre personne. Débutant dans le VBA, j'analyse un peu tout histoire de me familiariser). -
-
-
DerniereCelluleRemplie = Columns("A:A").Find("*", Range("A1"), , , xlByRows, xlPrevious).Row - 1
Retourne la dernière colonne de la 1ère ligne renseignée.
t = Range("a65536").End(xlUp).Offset(-1, 0).Value
Affecte à t la valeur de la cellule de la dernière ligne renseignée.
Range("a65536").End(xlUp).Value = ""
Affecte "" à la dernière cellule de la ligne renseignée. -
-
-
Bonjour,
Il faudrait voir le code pour voir ce qui ne va pas.
;0)
-
-
Ben non, ça ne marche pas, enfin pas pour ce que je veux faire. Voici mon code :
Private Sub cu_Click() Qa.Hide autres = False pbClient = False IntervFT = False pbDossier = False pbRoutage = False pbMat = False Q1.Show End Sub
Sur cette UF, j'ai un ensemble de choix, là pour le coup j'ai saisi Cu du coup je passe tous les autres en False et je vais afficher l'UF Q1.
Mais je pense qu'il y a une solution pour enlever tous ces falses en remplaçant par Unload mais je n'arrive pas à m'en servir...
Du coup , j'ai essayé ça :
Private Sub cu_Click() Q1.Show Unload Qa End Sub
Mais ça ne marche pas -
-