Copie de macro ds un classeur excel
Résolu
domi7666
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
bonjour
j'ai créé une macro "inserer un bloc de lignes" dans une feuille excel (feuil 1 classeur A) avec un bouton "inserer ligne"
lorsque je duplique cette feuille dans le meme classeur (feuille 2 classeur A) je retrouve bien mon bouton "insérer ligne"
mais
lorsque j'appui sur mon bouton de macro, ma macro insere le bloc de ligne dans ma feuille 1 classeur A
je souhaiterai que ma macro se cale sur la feuille active
Dim r As Byte
r = MsgBox(" Etes-vous sûr de vouloir insérer une ligne ? ", vbYesNo + vbQuestion, "Message avec 2 alternatives ")
If r = 6 Then
MsgBox " vous avez choisi de continuer. ", vbInformation, " Réponse quand tu cliques sur oui "
Rows("16:28").Select
Selection.Copy
Dim derlig As Integer
derlig = Range("a65536").End(xlUp).Row + 1
Worksheets("TEST (2)").Range("a" & derlig).EntireRow.Insert
Application.CutCopyMode = False
Range("A42").Select
Else
MsgBox " vous avez choisi d'arrêter. ", vbCritical, " Réponse quand tu cliques sur non "
End If
End Sub
j'ai beau retourner le sujet partout, je ne trouve pas ma réponse
merci d'avance pour votre aide,
j'ai créé une macro "inserer un bloc de lignes" dans une feuille excel (feuil 1 classeur A) avec un bouton "inserer ligne"
lorsque je duplique cette feuille dans le meme classeur (feuille 2 classeur A) je retrouve bien mon bouton "insérer ligne"
mais
lorsque j'appui sur mon bouton de macro, ma macro insere le bloc de ligne dans ma feuille 1 classeur A
je souhaiterai que ma macro se cale sur la feuille active
Dim r As Byte
r = MsgBox(" Etes-vous sûr de vouloir insérer une ligne ? ", vbYesNo + vbQuestion, "Message avec 2 alternatives ")
If r = 6 Then
MsgBox " vous avez choisi de continuer. ", vbInformation, " Réponse quand tu cliques sur oui "
Rows("16:28").Select
Selection.Copy
Dim derlig As Integer
derlig = Range("a65536").End(xlUp).Row + 1
Worksheets("TEST (2)").Range("a" & derlig).EntireRow.Insert
Application.CutCopyMode = False
Range("A42").Select
Else
MsgBox " vous avez choisi d'arrêter. ", vbCritical, " Réponse quand tu cliques sur non "
End If
End Sub
j'ai beau retourner le sujet partout, je ne trouve pas ma réponse
merci d'avance pour votre aide,
A voir également:
- Copie de macro ds un classeur excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Copie cachée - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
3 réponses
Salut,
Tu peux déjà vérifier si ca ne vient pas de la dénomination de ton TEST(2) dans cette ligne : Worksheets("TEST (2)").Range("a" & derlig).EntireRow.Insert
(je pense que tu t'en doute, mais il faut bien mettre le nom de ta feuille active pour que ca marche).
Ensuite si c'est pas ca, tu peux vérifier si ton bouton pointe bien sur la bonne macro (clic droit / affecter une macro et vérifier).
Si c'est encore une fois pas ca tu peux faire un truc un peu moins propre en ajoutant la ligne : sheets("nom de la feuille sur laquelle tu bosse").select
Sinon tu peux aussi regarder dans ta feuille si il y a pas un code qui définit une feuille comme feuille de travail.
Sinon il va falloir examiner ca de plus près.
A+
Tu peux déjà vérifier si ca ne vient pas de la dénomination de ton TEST(2) dans cette ligne : Worksheets("TEST (2)").Range("a" & derlig).EntireRow.Insert
(je pense que tu t'en doute, mais il faut bien mettre le nom de ta feuille active pour que ca marche).
Ensuite si c'est pas ca, tu peux vérifier si ton bouton pointe bien sur la bonne macro (clic droit / affecter une macro et vérifier).
Si c'est encore une fois pas ca tu peux faire un truc un peu moins propre en ajoutant la ligne : sheets("nom de la feuille sur laquelle tu bosse").select
Sinon tu peux aussi regarder dans ta feuille si il y a pas un code qui définit une feuille comme feuille de travail.
Sinon il va falloir examiner ca de plus près.
A+
merci Walter-Kum-Dorne de ta réponse rapide
j'ai trouvé une réponse qui fonctionne tres bien
en insérant i = ActiveSheet.Name et en remplacant le nom de ma feuille par i
Dim r As Byte
r = MsgBox(" Etes-vous sûr de vouloir insérer une ligne ? ", vbYesNo + vbQuestion, "Message avec 2 alternatives ")
If r = 6 Then
MsgBox " vous avez choisi de continuer. ", vbInformation, " Réponse quand tu cliques sur oui "
Rows("16:28").Select
Selection.Copy
Dim derlig As Integer
derlig = Range("a65536").End(xlUp).Row + 1
i = ActiveSheet.Name
Worksheets(i).Range("a" & derlig).EntireRow.Insert
Application.CutCopyMode = False
Range("A42").Select
Else
MsgBox " vous avez choisi d'arrêter. ", vbCritical, " Réponse quand tu cliques sur non "
End If
End Sub
ca fonctionne tres bien, en espérant que cela puisse servir a d'autres
j'ai trouvé une réponse qui fonctionne tres bien
en insérant i = ActiveSheet.Name et en remplacant le nom de ma feuille par i
Dim r As Byte
r = MsgBox(" Etes-vous sûr de vouloir insérer une ligne ? ", vbYesNo + vbQuestion, "Message avec 2 alternatives ")
If r = 6 Then
MsgBox " vous avez choisi de continuer. ", vbInformation, " Réponse quand tu cliques sur oui "
Rows("16:28").Select
Selection.Copy
Dim derlig As Integer
derlig = Range("a65536").End(xlUp).Row + 1
i = ActiveSheet.Name
Worksheets(i).Range("a" & derlig).EntireRow.Insert
Application.CutCopyMode = False
Range("A42").Select
Else
MsgBox " vous avez choisi d'arrêter. ", vbCritical, " Réponse quand tu cliques sur non "
End If
End Sub
ca fonctionne tres bien, en espérant que cela puisse servir a d'autres
une solution simple,
créer le bouton a l'aide de la boite à outils controles, et non Formulaire
clic-clic sur le bouton pour passer en mode edition VB
et y affecter le code de la macro
après duplication de la feuille le bouton et le code suivent dans la nouvelle feuille
NB. l'inconvénient, c'est qu'on a un 'code' par feuille, mais comme on ne l'écrit pas ...
créer le bouton a l'aide de la boite à outils controles, et non Formulaire
clic-clic sur le bouton pour passer en mode edition VB
et y affecter le code de la macro
après duplication de la feuille le bouton et le code suivent dans la nouvelle feuille
NB. l'inconvénient, c'est qu'on a un 'code' par feuille, mais comme on ne l'écrit pas ...