changement des noms d'onglet

Tchingum

XLDnaute Nouveau
Hello,
Voici ma question,
je suis en train de faire un formulaire pour des inspections. mais voilà, j'habite une région bilingue et je fais ce formulaire en français / allemand via une liste déroulante dans une cellule avec les référence "A & F".
j'aimerais également changer les onglets par la même occasion (ex: Données / Daten ou Récapitulatif / Zusammenfassung)

Merci d'avance
Tchingum
 

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

Bonjour Tchingum, Misange, le forum,

@ Tchingum :

Ci-joint un fichier exemple qui devrait répondre à la demande.

Problème solutionné par macro.

La feuille 1 est la feuille principale, celle où se fait le choix. Les paramètres de langue sont dans les colonnes masquées "K:M".

Pour le fun, j'ai ajouté une ligne pour l'anglais, mais le programme reste évolutif par la suite.

Il ne te reste plus qu'à adapter ce code à ton projet.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

  • Tchingum.xlsm
    22.5 KB · Affichages: 96

Tchingum

XLDnaute Nouveau
Re : changement des noms d'onglet

Hello Papou-net

Merci, mais je suis un néo fit dans excel et j'ai un soucis d'application.

je te joins le fichier pour que tu regarde pourquoi je n'ai pas dans la combobox l'allemand et le français.
et de plus j'aimerais que la cellule F6 me mette si c'est allemand un "D" et un "F" pour le français.

Merci d'avance.

Tchingum
 

Pièces jointes

  • Français Allemand essais.xlsm
    575.4 KB · Affichages: 68

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

RE Tchigoum,

Pour un néophyte, tu te débrouilles parfaitement.

Le programme ne fonctionnait pas car, dans mon exemple, j'avais nommé une plage de cellules "Langues", ce que tu as omis de faire dans la colonne AK. J'ai rajouté une ligne dans la macro ComboBox1_Change :

Code:
Range("F6") = IIf(ComboBox1.ListIndex = 0, "D", "F")

Ca devrait fonctionner sans problème dorénavant.

Bonne fin de WE.

Cordialement.
 

Pièces jointes

  • Copie de Français Allemand essais.xlsm
    576.9 KB · Affichages: 68

Tchingum

XLDnaute Nouveau
Re : changement des noms d'onglet

Hello Papou-net

Merci, super, cela fonctionnait très bien, mais....

maintenant que j'ai fini mon formulaire, il fait un bug et je ne trouve pas la solution...

Merci d'avance.

Tchingum
 

Pièces jointes

  • Modèle inspection F-A 2003.xlsm
    768.3 KB · Affichages: 112

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

Hello Papou-net

Merci, super, cela fonctionnait très bien, mais....

maintenant que j'ai fini mon formulaire, il fait un bug et je ne trouve pas la solution...

Merci d'avance.

Tchingum

RE :

Explication du bug : le programme n'a plus accès à la zone "A1:K40" de la feuille "Données" car tu as limité l'affichage de celle-ci à la plage "A1:K40".

Je crains que tu ne puisses limiter ta feuille à cette zone, ou alors il faudrait créer une feuille spécifique pour les données et qui serait masquée. Comme ton fichier est protégé, je ne peux rien y faire pour le moment.

Bonne nuit.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

Bonjour Tchingum,

Après une bonne nuit de réflexion, au petit matin la solution m'est apparue (comme pour le curé d'un certain chanteur).

Ce n'était pas un bug, juste un oubli. Ton classeur étant protégé, il est impossible de modifier les noms de feuilles, de les déplacer, d'en ajouter ou d'en supprimer. J'ai donc ajouté ces deux lignes :

Code:
Private Sub ComboBox1_Change()
Dim Ligne As Integer, Col As Integer, sh As Object, Nf As Range

Application.ScreenUpdating = False

ActiveWorkbook.Unprotect ' <---------- Déprotection du classeur

Columns("AK:BC").Hidden = False
Ligne = ComboBox1.ListIndex + 2
For Each sh In Sheets
    Set Nf = Rows("1:" & Ligne + 1).Find(sh.CodeName, LookIn:=xlValues, lookat:=xlWhole)
    If Not Nf Is Nothing Then
        Col = Nf.Column
        sh.Name = Cells(Ligne, Col)
    End If
Next
Range("F6") = IIf(ComboBox1.ListIndex = 0, "D", "F")
Columns("AK:BC").Hidden = True

ActiveWorkbook.Protect ' <---------- Protection du classeur

Application.ScreenUpdating = True
End Sub

Et ça marche.

En te souhaitant une bonne journée.

Cordialement.

PS : pas de risque de modification intempestive de ton classeur, la macro interdisant toute intervention manuelle durant son déroulement.
 

Pièces jointes

  • Copie de Modèle inspection F-A 2003.xlsm
    770.9 KB · Affichages: 71
  • Copie de Modèle inspection F-A 2003.xlsm
    770.9 KB · Affichages: 84
  • Copie de Modèle inspection F-A 2003.xlsm
    770.9 KB · Affichages: 74

Tchingum

XLDnaute Nouveau
Re : changement des noms d'onglet

Bonjour Tchingum,

Après une bonne nuit de réflexion, au petit matin la solution m'est apparue (comme pour le curé d'un certain chanteur).

Ce n'était pas un bug, juste un oubli. Ton classeur étant protégé, il est impossible de modifier les noms de feuilles, de les déplacer, d'en ajouter ou d'en supprimer. J'ai donc ajouté ces deux lignes :

Code:
Private Sub ComboBox1_Change()
Dim Ligne As Integer, Col As Integer, sh As Object, Nf As Range

Application.ScreenUpdating = False

ActiveWorkbook.Unprotect ' <---------- Déprotection du classeur

Columns("AK:BC").Hidden = False
Ligne = ComboBox1.ListIndex + 2
For Each sh In Sheets
    Set Nf = Rows("1:" & Ligne + 1).Find(sh.CodeName, LookIn:=xlValues, lookat:=xlWhole)
    If Not Nf Is Nothing Then
        Col = Nf.Column
        sh.Name = Cells(Ligne, Col)
    End If
Next
Range("F6") = IIf(ComboBox1.ListIndex = 0, "D", "F")
Columns("AK:BC").Hidden = True

ActiveWorkbook.Protect ' <---------- Protection du classeur

Application.ScreenUpdating = True
End Sub

Et ça marche.

En te souhaitant une bonne journée.

Cordialement.

PS : pas de risque de modification intempestive de ton classeur, la macro interdisant toute intervention manuelle durant son déroulement.

Re

il me fais toujours la même erreur

Soit:

Erreur d'éxécution '1004':

Impossible de définir la propriété Hilden de la classe Range.

dans le débogage il rest bloqué dur : Columns("AK:BC").Hidden = False

Merci

Tchingum
 

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

RE :

OK, j'ai oublié de déprotéger également la feuille. Voici qui est fait.

Cordialement.
 

Pièces jointes

  • Copie de Modèle inspection F-A 2003.xlsm
    771.1 KB · Affichages: 63
  • Copie de Modèle inspection F-A 2003.xlsm
    771.1 KB · Affichages: 91
  • Copie de Modèle inspection F-A 2003.xlsm
    771.1 KB · Affichages: 75
Dernière édition:

Tchingum

XLDnaute Nouveau
Re : changement des noms d'onglet

Hello, Papou-net

Merci, c'est super.

J'ai une autre question

Comment faire une mise en forme conditionnelle en y faisant apparaître du texte

Ex: =si(et(F6="D";F5"X");"Biete Ausfühlen";"svp remplir") et en plus des format de couleur de cellule


Salutations

Tchingum
 

Papou-net

XLDnaute Barbatruc
Re : changement des noms d'onglet

Bonjour Tchingum,

Dans la mise en forme conditionnelle, tu ne peux pas changer le texte de la cellule concernée (à ma connaissance du moins). Il faut passer par une macro événementielle. Peux-tu préciser quelles sont les cellules concernées par cette mise en forme ?

A te lire.

Cordialement.
 

Tchingum

XLDnaute Nouveau
Re : changement des noms d'onglet

Hello, Papou-net

Quand je mets un "X" dans la cellule A1 elle m'inscrit dans la Cellule B1 par ex. "svp remplir" et que je peux remplir cette cellule B1 avec un commentaire.
Par contre si par la suite j’efface le "X" de la cellule A1 il m’efface le "svp remplir" mais pas le commentaire.

Merci d'avance

Tchingum
 

Statistiques des forums

Discussions
312 294
Messages
2 086 900
Membres
103 404
dernier inscrit
sultan87