Bonjour à tous,
Tout d'abord je tiens à préciser que je suis débutant en Vba.
J'ai une question concernant une macro que j'ai crée. Le but de celle-ci est d'inviter l'utilisateur à sélectionner une plage de cellules et de copier cette plage de cellules dans une nouvelle feuille de calcul.
Après plusieurs essais, je me suis aperçu que cette routine fonctionne correctement, uniquement quand l'utilisateur, lance la macro depuis la feuille dans laquelle les cellules à copier sont situées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub SelectionCellules() 'Sélection de la plage de cellules par l'utilisateur Dim maPlage As Range On Error Resume Next Set maPlage = Application.InputBox("Sélectionnez la plage de cellule à importer sous format doc ", Type:=8) On Error GoTo 0 If maPlage Is Nothing Then MsgBox "Sélection annulée" ' On copie la sélection Range(maPlage.Address).Copy ' Création d'une feuille de calcul temporaire Dim NouvelleFeuille As Worksheet Set NouvelleFeuille = ThisWorkbook.Worksheets.Add(before:=ThisWorkbook.Worksheets(1)) Worksheets(1).Name = "FeuilleTest" 'On colle la sélection dans la feuille de calcul temporaire Sheets("FeuilleTest").Activate Rows("1:1").Select Selection.PasteSpecial Paste:=xlPasteAll Application.CutCopyMode = xlCopy End Sub
Je vous donne un exemple pour être sur d'être clair:
Imaginons que je veuille, sélectionner les cellules A1:G26, dans la feuille "Feuil3".
Si je lance la macro (Alt+F8) alors que je suis déjà dans la feuille "Feuil3", cela fonctionne.
En revanche, si je lance la macro depuis la feuille "Feuil2", les cellules copiées seront les cellules A1:G26 de la feuille "Feuil2" même si lorsque l'inputbox est lancée, l'utilisateur a bien sélectionné les cellules A1:G26 de la "Feuil3".
Comment dois-je m'y prendre pour que cette routine fonctionne quelque soit la feuille depuis laquelle elle est lancée.
Merci d'avance pour le temps que vous voudrez bien prendre pour traiter ma demande.
Cire190
Partager