Tout d'abord, je tiens à remercier l'ensemble des personnes qui aident celles en difficulté sur les sujets touchant de près ou de loin aux macros.
Etant novice sur cette thématique, cela m'a permis de contourner des problématiques que j'ai pu rencontrées.
Je vous écris car là je suis bloqué ! :(
Je pense que ce ne sera pas un problème pour vous. Voici les explications :
J'ai 2 onglets :
- Un onglet "mouvement" : 1 tableau avec données
- Un onglet "fiche de suivi n°" dans lequel il existe 2 macros :
- macro 4 pour créer un nouvel onglet (c'est une copie de l'onglet)
- macro 1 pour mettre à jour la fiche de suivi. Pour cette macro, j'avais fait "enregistrement d'une macro" : il s'agit de copier le tableau de l'onglet "mouvement" et le coller dans l'onglet "fiche de suivi n°".
Lorsque je clique sur le bouton de la macro 4 : RAS. La macro s’exécute correctement et mon nouvel onglet est créé avec la présence des 2 boutons des macros.
Par contre, une fois sur l'onglet créé (ex.: "fiche de suivi n°(2)"), lorsque je clique sur le bouton de la macro 1, je retourne sur l'onglet initial (normal me direz-vous, c'était un enregistrement).
Ce que je souhaiterai, c'est appliquer la macro 1 sur les nouveaux onglets créés.
Quelqu'un pourrait-il venir à mon secours? Help me please !
Pour qu'on puisse t'aider:
Si tu le souhaites va ici http://www.cjoint.com
et pose une copie de ton fichier, tu vas obtenir un lien, tu le copie et
le redonne ici dans ce fil de discussion.
Bonjour, Je n'ai pas vu le texte de ta macro, mais comme tu copies la feuille avec les boutons de la feuille comme nouvelle feuille, le texte de la macro doit faire référence à la toute première feuille qu'a créé la macro 1. Chaque fois que tu exécutes la macro, c'est toujours la même feuille qui est créée(la feuille de référence). Il faut que tu trouves un moyen de modifier la macro pour lui dire qu'il doit utiliser la feuille active et non pas la feuille lors de l'exécution de la macro la première fois. Pour modifier la chose, modifie la macro comme ceci: '------------------------------- Sub Bouton1_Cliquer() 'Déclaration de la variable Dim Nom As String 'La variable prend le nom de la feuille active. Lorsque tu cliques sur le bouton 1, c'est la feuille qui est affichée à l'écran qui est la feuille active et c'est celle-là que tu veux utilisée. Nom = ActiveSheet.Name 'Avec cette feuille (celle qui est active) With Worksheets(Nom) .copy 'Cette commande crée une nouvelle feuille avec tout le contenu 'de la feuille active. adapte au besoin la commande selon 'tes besoins End With End Sub '------------------------------- MichD
Bonjour,
Je n'ai pas vu le texte de ta macro, mais comme tu copies la feuille
avec les boutons de la feuille comme nouvelle feuille, le texte de la
macro doit faire référence à la toute première feuille qu'a créé la
macro 1. Chaque fois que tu exécutes la macro, c'est toujours la même
feuille qui est créée(la feuille de référence). Il faut que tu trouves
un moyen de modifier la macro pour lui dire qu'il doit utiliser la
feuille active et non pas la feuille lors de l'exécution de la macro la
première fois.
Pour modifier la chose, modifie la macro comme ceci:
'-------------------------------
Sub Bouton1_Cliquer()
'Déclaration de la variable
Dim Nom As String
'La variable prend le nom de la feuille active. Lorsque tu cliques sur
le bouton 1, c'est la feuille qui est affichée à l'écran qui est la
feuille active et c'est celle-là que tu veux utilisée.
Nom = ActiveSheet.Name
'Avec cette feuille (celle qui est active)
With Worksheets(Nom)
.copy 'Cette commande crée une nouvelle feuille avec tout le
contenu
'de la feuille active. adapte au besoin la commande selon
'tes besoins
End With
Bonjour, Je n'ai pas vu le texte de ta macro, mais comme tu copies la feuille avec les boutons de la feuille comme nouvelle feuille, le texte de la macro doit faire référence à la toute première feuille qu'a créé la macro 1. Chaque fois que tu exécutes la macro, c'est toujours la même feuille qui est créée(la feuille de référence). Il faut que tu trouves un moyen de modifier la macro pour lui dire qu'il doit utiliser la feuille active et non pas la feuille lors de l'exécution de la macro la première fois. Pour modifier la chose, modifie la macro comme ceci: '------------------------------- Sub Bouton1_Cliquer() 'Déclaration de la variable Dim Nom As String 'La variable prend le nom de la feuille active. Lorsque tu cliques sur le bouton 1, c'est la feuille qui est affichée à l'écran qui est la feuille active et c'est celle-là que tu veux utilisée. Nom = ActiveSheet.Name 'Avec cette feuille (celle qui est active) With Worksheets(Nom) .copy 'Cette commande crée une nouvelle feuille avec tout le contenu 'de la feuille active. adapte au besoin la commande selon 'tes besoins End With End Sub '------------------------------- MichD