Masquer onglet en fonction de la langue choisie

  • Initiateur de la discussion Initiateur de la discussion YANOU
  • 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 !

YANOU

XLDnaute Junior
Bonjour à tous et meilleurs vœux pour la nouvelle année.

Je voudrai un classeur avec un onglet "Questionnaire" avec, dans la cellule "C3", soit un drapeau Français, soit un drapeau Anglais et que se drapeau change (de l'un à l'autre indéfiniment) en double-cliquant dessus et que cela me masque les onglets "Français" ou ""Anglais" en fonction.

Pour l'instant (fichier joint), j'ai essayé de faire ceci par étape :
- J'ai positionné mes photos (1 = Drapeau Français ; 2 = Drapeau Anglais)
- Par double-clic sur la cellule B2, celle-ci s'incrémente
- La cellule C2=1 si PAIR ; C2=2 si IMPAIR
mais après, pour lier mes Drapeaux avec la valeur de la cellule C2...
J'ai tenté de nommer mes photos (Formules - Gestionnaires des noms - Fait référence à...), mais je patauge complet et je ne parle pas du masquage des onglets en fonction du choix...!!
N'ayant que très peu de connaissance en MACRO, la remise à plat de ce que j'ai fait me semble indispensable.
Merci pour votre aide.
 

Pièces jointes

Bonjour YANOU,

Le plus simple, dans le code de la feuille "Questionnaire" :
Code:
Sub Anglais()
Application.ScreenUpdating = False
DrawingObjects("Anglais").Visible = False
Sheets("Anglais").Visible = xlSheetHidden
DrawingObjects("Français").Visible = True
Sheets("Français").Visible = xlSheetVisible
End Sub

Sub Français()
Application.ScreenUpdating = False
DrawingObjects("Français").Visible = False
Sheets("Français").Visible = xlSheetHidden
DrawingObjects("Anglais").Visible = True
Sheets("Anglais").Visible = xlSheetVisible
End Sub
Fichier joint.

A+
 

Pièces jointes

Re,

Un peu plus difficile à comprendre, avec une seule macro :
Code:
Sub Drapeau()
If IsError(Application.Caller) Then Exit Sub 'sécurité
Dim dm$, da$
dm = IIf(Application.Caller = "Anglais", "Anglais", "Français")
da = IIf(Application.Caller = "Anglais", "Français", "Anglais")
Application.ScreenUpdating = False
DrawingObjects(dm).Visible = False
Sheets(dm).Visible = xlSheetHidden
DrawingObjects(da).Visible = True
Sheets(da).Visible = xlSheetVisible
End Sub
Fichier(2).

A+
 

Pièces jointes

Re,

S'il y a plus de 2 drapeaux on peut organiser une tournante :
Code:
Sub Drapeau()
If IsError(Application.Caller) Then Exit Sub 'sécurité
Dim a, i, j
a = Array("Français", "Anglais", "Canadien", "Brésilien")
Application.ScreenUpdating = False
For i = 0 To UBound(a)
  DrawingObjects(a(i)).Visible = False
  Sheets(a(i)).Visible = xlSheetHidden
  If a(i) = Application.Caller Then j = i
Next
i = IIf(j = UBound(a), 0, j + 1) 'tournante
DrawingObjects(a(i)).Visible = True
Sheets(a(i)).Visible = xlSheetVisible
End Sub
Fichier (3)

A+
 

Pièces jointes

Bonsour®
Je voudrai un classeur avec un onglet "Questionnaire" avec, dans la cellule "C3", soit un drapeau Français, soit un drapeau Anglais et que se drapeau change (de l'un à l'autre indéfiniment) en double-cliquant dessus et que cela me masque les onglets "Français" ou ""Anglais" en fonction.
une seule macro :
upload_2017-1-5_13-32-33.png
 

Pièces jointes

WAHOU MERCI job75 & Modeste Geedee !!
Mes pauvres connaissances en VBA ne me permettront pas de décortiquer de tels codes....
Une question cependant:
Si je veux "Importer" la macro de Geedee (celle qui me semble la plus simple à comprendre avec mes connaissances...) dans d'autres classeurs déjà mis en forme (j'ai tenté vainement, naïvement...copier/coller drapeaux + créer onglets Français/Anglais + code VBA) qu'elle démarche dois-je effectuer ?
Encore MERCI à vous.
 
- 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

Retour