Selection Manuelle Plage de données

Bonjour à tous

je souhait écrire une macro qui m ouvre une fenetre pop up avec une zone de selection manuelle pour une plage de données : pour etre un peu plus claire je voudrais que quand je clique sur la macro, elle ouvre mon userform, et que dans cette fenetre pop up je puisse selectionner avec ma souris la plage de donnee qui m interesse pour ensuite la copier/coller vers un autre fichier

Je sais que c est possible puisque j avais fais qql chose de similaire il y a quelques mois mais impossible de remettre la main dessus.

Pour un peu plus de contexte, en gros je souhaiterai ajouter ce code dans une macro qui ouvre un fichier selectionné (voir ci joint) ainsi ma macro global ouvre l explorateur de fichier, permet de selectionner un fichier, l ouvre et relance une macro pour selectionner une plage de données de ce fichier qu elle viendra ensuite coper coller dans mon fichier principale.

Désolé pour le pavé, j espère que vous pourrez m aider

Cordialement

Jules

19testmsalil2.xlsm (21.46 Ko)

Bonjour,

Ouvrir une fenêtre qui te demande de sélectionner une plage de cellules, c'est le travail de Application.Inputbox (ne surtout pas oublier application devant), je te joins la documentation:

https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.inputbox, il faut utiliser 8 pour le type de valeur renvoyée par Application.Inptubox

Bonjour merci pour votre réponse,

j ai trouvé un moyen de le faire avec un userform dans lequel je met une RefEdit box selon vous qu elle est la meilleure solution entre la votre avec l imput box et celle ci ?

Bonjour,

RefEdit est sans doute la solution la plus appropriée. Encore faut-il l'ajouter (Clic Droit) dans la liste des composants de la boite d'outils UserForm.

A+

bonjour

je vois les choses autrement

ne pas sélectionner ni "copier" en manuel ou en macro

[u]

simplement mettre dans le fichier B (destination) une image de A (la source) [/u]

les formules et graphiques dans B contiennent les filtres nécessaires (SI(), segments, filtres de Tableaux...)

pour avoir une image de A dans B :

adieu les complications (et les difficultés dans 3 mois si tu veux faire évoluer le tout)

amitiés

Du coup j ai une nouvelle question :

j arrive bien à selectionner une plage de donnée avec la RefEdit box mais quand je souhaite copier cete plage avec le code suivant :

End Sub

Dans ma cellule K4 la seule choses qui apparait est : Sheet1!$B$3:$C$24

Si vous avez une solution je suis preneur

Merci à vous

Re,

ça je peux répondre!

Cette ligne en dit long:

Dim Target As String

tu déclares Target comme étant un String, donc du texte bon bien sûr, si tu déclares Target comme un Range, ça ne va pas s'arranger non plus, le truc c'est que RefEdit1 va juste te renvoyer le texte représentant la propriété address d'un Range, le mieux à faire c'est:

Dim Target as Range
Set Target = Range(RefEdit1.Value)
Cells(4, 7) = Target

ou bien

Dim Target as String
Target = RefEdit1.Value
Cells(4, 7) = Range(Target)

Tout simplement :

Private Sub CommandButton1_Click()
Range(RefEdit1).Copy Range("A1")
End Sub

A+

Tout simplement :

Private Sub CommandButton1_Click()
Range(RefEdit1).Copy Range("A1")
End Sub

A+

salut galopin

je lis ta signature

VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...

Merci à vous

Oui en effet my bad pour la declaration ^^, j ai pas fais attention

ça fonctionne parfaitement maintenant, merci pour votre aide

bonne fin de journée

Jules

Rechercher des sujets similaires à "selection manuelle plage donnees"