Réaliser une macro pour masquer des objets userform

Bonjour à tous je suis novice en VBA , je vous prie d’être indulgent avec moi. merci

Mon problème est que j'ai mis deux boutons option dans mon userform.

je souhaiterais masquer des objets(N° de TVA, le RCS, le N° RCS, la ville du RCS) dans l'userform et sur mon signet et aussi déplacer les objets (Numéro de Siret, et le code APE) en dessous de mail en G7 et G8 sur mon signet lorsque le bouton "oui " est activé

et les afficher (et décocher le bouton oui) si le bouton non est activé en laissant tout comme c'est actuellement

j'espère mettre bien exprimer

pouvez vous m'aider a réaliser le code svp?

je vous mais les images pour vous montrer

en vous remerciant mike31

tableau excel userform excel

Bonjour,

Le code ne fonctionne pas sur une image ... désolé...

ric

bonjour merci de ta réponse .

je sais que cela ne fonctionne pas sur une image , je les ai misent juste pour illustrer mes propos

je veux juste que on m'explique quel code mettre afin que je le fasse moi même et que je comprenne la manipulation afin de pouvoir la reproduire plus tard sur d'autres documents

Bonjour,

Un début donc ...

OptionButton1 et OptionButton2 > en cliquant sur l'un, l'autre se désactive et vice versa > il n'y a rien à faire, c'est intégré dans ces objets.

if OptionButton1 = true
    ... ton code
    else
    ... ton autre code
    end if

masquer/ afficher un textbox

textbox1.visible = true (ou False) selon ton besoin

label.visible = true (ou False) selon ton besoin

Il y a aussi les cours vba, ils sont très enrichissants.

https://www.excel-pratique.com/fr/vba

https://www.excel-pratique.com/fr/formation

ric

Bonsoir,

ric,

ce que vous pouvez faire également, c'est de mettre les groupe de contrôles dans une frame et ainsi il n'y a que la frame à cacher.

@ bientôt

LouReeD

Voici un petit fichier :

8usf.xlsm (24.35 Ko)

Il reprend l'idée des frames, et un avantage c'est que cela crée une "barrière" entre les boutons d'option.

S'il ne sont pas dans la même frame, ils ne sont pas liés.

L'autre manière de "grouper" les boutons d'options c'est de leur donner un "GroupName" dans la fenêtre des propriétés.

@ bientôt

LouReeD

merci les gars je vais essayer le code donné par ric et je vous dis sa sinon je ferais des frame mais pouvez vous m'expliquez comment faire svp?

merci pour les cours je vais les suivre sa me fera sa de plus a lire

je test et je reviens vous confirmer sa

Bon j'ai essayer en adaptant en fonction de mon dossier la méthode de ric , cela ne marche pas

quand je test cela m'ouvre une boite de dialogue et me dit erreur "else sans if"

je peux egalement vous joindre le fichier ou une photo si vous voulez

voici le code que j'ai écris


Private Sub OptionButton1_Click() 'auto-entrepeneur oui ' ' masquer lignes si activer 'if OptionButton1 = true TextBox10.Visible = False Label.Visible = False TextBox11.Visible = False Label.Visible = False TextBox12.Visible = False Label.Visible = False TextBox13.Visible = False Label.Visible = False Else TextBox10.Visible = True Label.Visible = True TextBox11.Visible = True Label.Visible = True TextBox12.Visible = True Label.Visible = True TextBox13.Visible = True Label.Visible = True End If

Le If est en commentaire, il faut retirer l'apostrophe en début de ligne, il manque le Then après le True :

If OptionButton1 = True Then
...
Else
...
Endif

Une autre remarque :

les boutons d'option étant liés, si on clic sur le numéro 1 alors le numéro 2 n'est plus sélectionné et inversement.

Donc automatiquement si on se trouve dans la Sub du clic du bouton 1 c'est qu'il est TRUE :

Donc :

Private Sub OptionButton1_Click()
 'auto-entrepeneur oui
 '
 ' masquer lignes si activer
 TextBox10.Visible = False
 Label.Visible = False
 TextBox11.Visible = False
 Label.Visible = False
 TextBox12.Visible = False
 Label.Visible = False
 TextBox13.Visible = False
 Label.Visible = False
End Sub

et l'inverse sur le clic du bouton 2

Private Sub OptionButton2_Click()
 TextBox10.Visible = True
 Label.Visible = True
 TextBox11.Visible = True
 Label.Visible = True
 TextBox12.Visible = True
 Label.Visible = True
 TextBox13.Visible = True
 Label.Visible = True
End Sub

@ bientôt

LouReeD

Et si vous aviez mis une frame avant tous ces bouton et label, il n'y aurait eu que la frame à "cacher"...

@ bientôt

LouReeD

je test ça et je vous dis

merci ric

loureed je pense que je vais egalement regarder pour la frame si vous dites que c'est plus pratique je testerais demain pourme faire la main , mercia vous aussi

Je n'avais pas vu, mais il manque la numérotation des label dans votre code !

@ bientôt

LouReeD

bon sa marche toujours pas sa me met debogage et un texte en jaune je vous join une capture

debogage

LouReeD les labels c'est ou que je les numérottent?

LouReeD c'est bon j'ai rajouter les numéros aux labels identiques aux textbox et sa marche je mo'ccupe du deuxième bouton

merci a vous deux

J'ai fais une petite erreur au niveau d'un label que j'ai desuite corriger c'est bon tout marche nickel je voudrais juste rajouter un partie de code afin de le masquer également sur mon feuillet , le code je l'ai pour le faire mais quand je veux rajouter du code dans les macros a chaque fois cela me le refuse .

dois-je refaire une macro différente ?ou je peut y rajouter une option? désoler pour toute ces questions je viens de commencer aujourd'hui les macros ::D

Bonjour à tous,

perso, vu que ceux à cacher sont en bas, je réduirais juste la hauteur du userform pour les faire disparaitre.

eric

bonjour merci eric c'est une autre solution mais j'ai réussi avec la méthode que on ma dis plus haut, il me reste juste deux petite chose a faire je galère un peu mais je vais y arriver ,

j'ai également regarder le fichier que LOreeD ma envoyer en effet utiliser des trames c'est bien plus simple j'ai relevé le code sur un cahier je vais essayer de mettre ça en pratique sur un autre document

bon du coup je galère (pour pas changer)avec mon code pour déplacer les cellules de mon feuillet actif et en masquer d'autres (et encore des trucs a masquer) , ensuite est que c'est possible de mettre une image? ou un code? dans un endroit exprès mais en laissant vide,afin que chacun puisse mettre la sienne sur son document?

une sorte de lien ou de chemin d’accès , je sais pas comment on peut appeler ça désolé je continue mes recherche je veux réussir solo si je galère trop je reviens vers vous

Bon après plusieurs essaie j'y arrive pas

je veux rajouter du code sur mon bouton 1 pour compléter son action voici mon code

Private Sub OptionButton1_Click() 'auto-entrepeneur oui ' ' masquer lignes si activer If OptionButton1 = True Then ' masquer lignes si activer TextBox10.Visible = False Label9.Visible = False TextBox11.Visible = False Label11.Visible = False TextBox12.Visible = False Label12.Visible = False TextBox13.Visible = False Label13.Visible = False End If Sub Deplacement() SelectCells ("A9") Selection.End(xlToRight).Selec Selection.End(xlToUp).Selec End Sub

je voudrais donc déplacer 2 cellules : ma cellule "A9" en "G7" et ma cellule "F9" en "G8"

et ensuite masquer ou supprimer les lignes en dessous

tout ça toujours dans mon bouton 1 et le remettre visible du coup grâce a sa liaison avec le bouton 2.

Sa marche parfaitement pour mon userform et j'aimerais que cela fonctionne en même temps dans ma feuille excel svp

si besoin je peut vous joindre une images pour expliquer

Bonjour,

si ce sont des valeurs :

Private Sub OptionButton1_Change()
    Me.Height = 260 + 100 * OptionButton1.Value
    Range("G7") = Range("A9"): Range("A9").ClearContents
    Range("G8") = Range("F9"): Range("F9").ClearContents
End Sub

Si ce sont des formules il faudra faire un 'vrai' couper-coller'

C'est quand tu veux pour déposer un fichier qu'on sache tout sans à avoir à poser des questions

eric

Rechercher des sujets similaires à "realiser macro masquer objets userform"