Copie de Range via une inputbo
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.
Code:
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 |
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.
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