Excel 2003 dur dur
jeremy
-
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, Bonjour,
C'est assez compliqué à expliquer donc si je suis pas clair n'héistez pas à demander des compléments d'info°.
Je travaille sur un fichier excel composé de 6 onglets de base 1 2 3 4 5 6.
La 1 contient ma base de donnée (bcp de tableaux dont les valeur me servent pour les calculs la modifications des titres des autres cellules ....)
Dans ce 1er onglet, j'ai créé une macro qui me permet de mettre à jour mes feuilles 2-3-4-5-6 en un seul clique ( mon fichier devant être totalement modifiable).
Cette mise à jour consiste notamment à masquer les cellules vides (mm chose pour les colonnes), afficher celles ou l'on ajoute des élément dans la BDD etc...
Pour simplifier j'ai un tableau dans mon onglet 1 de type
titre 1
titre 2
titre 3
et dans l'onglet 2 3 4 5 6, j'ai :
A B
titre 1 valeur
titre 2 valeur
titre 3 valeur
et si je modifie en ajoutant un titre 4 dans la feuille 1 une ligne s'ajoute dans l'onglet 2 (mm principe pour les colonnes). (tout est réuni dans une seule macro ki est assez lourde )
Ce que je souhaite maintenant c'est faire la même chose avec les onglets, si je supprime le titre 4 alors 2 onglets, le 2 et le 3 disparraissent.(attention, si je le rajoute après, les deux onglets doivent revenir avec le même contenu.
Merci par avance pour votre réponse
Cordialement ,
Jérémy, un homme qui découvre les joies d'excel et du vba.
C'est assez compliqué à expliquer donc si je suis pas clair n'héistez pas à demander des compléments d'info°.
Je travaille sur un fichier excel composé de 6 onglets de base 1 2 3 4 5 6.
La 1 contient ma base de donnée (bcp de tableaux dont les valeur me servent pour les calculs la modifications des titres des autres cellules ....)
Dans ce 1er onglet, j'ai créé une macro qui me permet de mettre à jour mes feuilles 2-3-4-5-6 en un seul clique ( mon fichier devant être totalement modifiable).
Cette mise à jour consiste notamment à masquer les cellules vides (mm chose pour les colonnes), afficher celles ou l'on ajoute des élément dans la BDD etc...
Pour simplifier j'ai un tableau dans mon onglet 1 de type
titre 1
titre 2
titre 3
et dans l'onglet 2 3 4 5 6, j'ai :
A B
titre 1 valeur
titre 2 valeur
titre 3 valeur
et si je modifie en ajoutant un titre 4 dans la feuille 1 une ligne s'ajoute dans l'onglet 2 (mm principe pour les colonnes). (tout est réuni dans une seule macro ki est assez lourde )
Ce que je souhaite maintenant c'est faire la même chose avec les onglets, si je supprime le titre 4 alors 2 onglets, le 2 et le 3 disparraissent.(attention, si je le rajoute après, les deux onglets doivent revenir avec le même contenu.
Merci par avance pour votre réponse
Cordialement ,
Jérémy, un homme qui découvre les joies d'excel et du vba.
A voir également:
- Excel 2003 dur dur
- Cloner disque dur - Guide
- Defragmenter disque dur - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Chkdsk disque dur externe - Guide
- Nettoyage disque dur - Guide
3 réponses
Salut,
Si par exemple tu as la référence de ton onglet (feuille3 par exemple) dans une cellule que tu peux nommer, dans mon exemple titi le code 1 masque ta feuille et le 2 l'ouvre, [titi] peut être donc remplacé par range("B5") si B5 contient le nom de ton onglet
Sub Macro1()
Sheets([titi].Value).Select
ActiveWindow.SelectedSheets.Visible = False
End Sub
Sub Macro2()
Sheets([titi].Value).Visible = True
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Si par exemple tu as la référence de ton onglet (feuille3 par exemple) dans une cellule que tu peux nommer, dans mon exemple titi le code 1 masque ta feuille et le 2 l'ouvre, [titi] peut être donc remplacé par range("B5") si B5 contient le nom de ton onglet
Sub Macro1()
Sheets([titi].Value).Select
ActiveWindow.SelectedSheets.Visible = False
End Sub
Sub Macro2()
Sheets([titi].Value).Visible = True
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Ca ne marche pas avec ta macro, je ne sais pas si j'ai exprimé clairement mon problème.
En faite, je veux que mon onglet soit liés à au tableau de ma bande de données
J'ai 5 onglets avec 5 titres A B C D E
dans ma feuille de BDD, jorai un tableau avec ces 5 titres de marqué .
Si dans ce tableau j'enleve le titre D, je veux que cet onglet D soit masquer ou supprimer de ma feuille de classeur!!(peu importe).
Merci de votre aide cordialement
Jérémy
En faite, je veux que mon onglet soit liés à au tableau de ma bande de données
J'ai 5 onglets avec 5 titres A B C D E
dans ma feuille de BDD, jorai un tableau avec ces 5 titres de marqué .
Si dans ce tableau j'enleve le titre D, je veux que cet onglet D soit masquer ou supprimer de ma feuille de classeur!!(peu importe).
Merci de votre aide cordialement
Jérémy
Salut jerem,
Récupères un exemple avec le lien ci-dessous
https://www.cjoint.com/?gjxAkzRwaT
Ci dessous le code qui est placé dans les propriétés de la feuille pilote du classeur, dans mon exemple la BDD. Il suffit de saisir ou de suprimer dans la plage A1 à F1 le nom de l'onglet que l'on souhaite afficher ou masquer
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:F1")) Is Nothing Then
If [A1] <> "A" Then Sheets("A").Visible = False
If [A1] = "A" Then Sheets(Range("A1").Value).Visible = True
If [B1] <> "B" Then Sheets("B").Visible = False
If [B1] = "B" Then Sheets(Range("B1").Value).Visible = True
If [C1] <> "B" Then Sheets("C").Visible = False
If [C1] = "B" Then Sheets(Range("C1").Value).Visible = True
If [D1] <> "D" Then Sheets("D").Visible = False
If [D1] = "D" Then Sheets(Range("D1").Value).Visible = True
If [E1] <> "E" Then Sheets("E").Visible = False
If [E1] = "E" Then Sheets(Range("E1").Value).Visible = True
If [F1] <> "B" Then Sheets("F").Visible = False
If [F1] = "B" Then Sheets(Range("F1").Value).Visible = True
Sheets("BDD").Select
End If
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Récupères un exemple avec le lien ci-dessous
https://www.cjoint.com/?gjxAkzRwaT
Ci dessous le code qui est placé dans les propriétés de la feuille pilote du classeur, dans mon exemple la BDD. Il suffit de saisir ou de suprimer dans la plage A1 à F1 le nom de l'onglet que l'on souhaite afficher ou masquer
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:F1")) Is Nothing Then
If [A1] <> "A" Then Sheets("A").Visible = False
If [A1] = "A" Then Sheets(Range("A1").Value).Visible = True
If [B1] <> "B" Then Sheets("B").Visible = False
If [B1] = "B" Then Sheets(Range("B1").Value).Visible = True
If [C1] <> "B" Then Sheets("C").Visible = False
If [C1] = "B" Then Sheets(Range("C1").Value).Visible = True
If [D1] <> "D" Then Sheets("D").Visible = False
If [D1] = "D" Then Sheets(Range("D1").Value).Visible = True
If [E1] <> "E" Then Sheets("E").Visible = False
If [E1] = "E" Then Sheets(Range("E1").Value).Visible = True
If [F1] <> "B" Then Sheets("F").Visible = False
If [F1] = "B" Then Sheets(Range("F1").Value).Visible = True
Sheets("BDD").Select
End If
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Je vas essayer et je te retiens au courant