Utilisation des InputBox

Ophé

XLDnaute Junior
Bonjour le forum,

Je reviens sur le forum car après plusieurs heures de recherche, une nouvelle macro me pose problème.

Ce que je veux faire:
Créer un copier coller automatique de certaines lignes d'un tableau à un autre.

Je m'explique :
L'utilisateur lorsqu'il appuie sur la macro doit avoir une InputBox lui demandant quel commercial il veut puis quel mois.
Une macro copie ensuite les lignes où le nom du commercial est (colonne I) et où le mois est (colonne Z).
La macro colle ensuite ces données dans un autre classeur (c'est ici que je suis vraiment perdue). Le classeur doit également correspondre au nom du commercial (voir 2fichiers joints), et la feuille de ce classeur au mois.

Un exemple : l'utilisateur veut le commercial "Yolande" au mois d'avril, il note Yolande puis Avril dans les 2 InputBox, les lignes comprenant Yolande en colonne I et Avril en colonne Z sont copiées dans le classeur [Yolande] sur la feuille 'Avril'.

Je joins les fichiers j'espère que vous pourrez m'aider, j'ai seulement un début de macro pour le copier coller :

Commercial = InputBox("Nom du commercial?", Commercial)
Mois = InputBox("Mois choisi?", Date)

Application.Calculation = xlCalculationManual
For n = 2 To Sheets("VTE QUERY").Range("AA65536").End(xlUp).Row
If Sheets("VTE QUERY").Range("I" & n) = Commercial And Sheets("VTE QUERY").Range("Z" & n) = Mois Then
Sheets("VTE QUERY").Range("A" & n & ":AB" & n).Copy Destination:=Sheets([ABDE 2.xls]).Range("A65536").End(xlUp).Offset(1, 0)
End If
Next n

Application.Calculation = xlCalculationAutomatic


Merci d'avance

Cordialement

Ophé.
 

Pièces jointes

  • VENTES.xlsm
    27.1 KB · Affichages: 56
  • Yolande.xlsm
    39.5 KB · Affichages: 33
  • VENTES.xlsm
    27.1 KB · Affichages: 59
  • VENTES.xlsm
    27.1 KB · Affichages: 56

Cousinhub

XLDnaute Barbatruc
Re : Utilisation des InputBox

Bonjour,

Bonjour Pascal :)

Ophé, regarde le fichier joint..

A la place des Inputbox, j'ai mis un userform avec 2 combobox, 1 pour le commercial, et 1 pour les mois

J'ai supposé que les classeurs des commerciaux étaient dans le même répertoire que le classeur "Ventes".... (pour tes essais, je te conseille de les mettre, ensuite, on pourra adapter)

Si le classeur n'est pas ouvert, le programme va l'ouvrir (on peut refermer le classeur du commercial si tu le désires...)

L'extraction se fait par le biais d'un filtre élaboré....

Clique sur le bouton GO, et sélectionne tes critères

Attention, dans la cellule I2, tu as un espace après Yolande.....
Pour ne pas avoir ce genre d'erreurs, je te conseille d'utiliser une validation de données (sous 2007, Ruban Données, sous-ruban "Outils de données", la commande en haut à droite "Validation des données"), et tu rentres tous tes commerciaux.

Bon courage
 

Pièces jointes

  • ventes_v1.xls
    68 KB · Affichages: 95
  • ventes_v1.xls
    68 KB · Affichages: 89
  • ventes_v1.xls
    68 KB · Affichages: 91

Ophé

XLDnaute Junior
Re : Utilisation des InputBox

Bonjour bhbh,

cette macro est géniale, c'est tout à fait ce que je voulais, j'ai quand même quelques questions :
- j'ai l'impression que l'extraction se fait à partir de la feuille 2 "base montage" je voudrais quelle se fasse depuis la feuille 1 "VTE QUERY", je ne trouve pas l'endroit où je dois changer?
- comment faut-il faire pour relier les différents classeurs commerciaux à cette macro ? Il suffit que le nom du classeur soit identique au nom saisi dans la "box"??
-comment fait-on pour modifier la liste déroulante dans la "box"? Je n'ai mis ici que 3 exemples sans les noms complets des commerciaux, et je ne trouve pas non plus l'endroit où changer les données.

En tout cas merci beaucoup, j'essaye de déchiffrer tout ça étant novice en VBA.

C'est vraiment parfait, merci beaucoup.

Ophé.
 

Cousinhub

XLDnaute Barbatruc
Re : Utilisation des InputBox

Re-,

- j'ai l'impression que l'extraction se fait à partir de la feuille 2 "base montage" je voudrais quelle se fasse depuis la feuille 1 "VTE QUERY", je ne trouve pas l'endroit où je dois changer?

Fais un clic droit sur le bouton "GO", Couper, sélectionne la feuille "VTE QUERY", et colle le bouton, c'est tout...

- comment faut-il faire pour relier les différents classeurs commerciaux à cette macro ? Il suffit que le nom du classeur soit identique au nom saisi dans la "box"??

La macro se situe dans le classeur "Ventes", et les noms des commerciaux sont obtenus automatiquement et sans doublons. Il suffit que le classeur du commercial choisi existe, et qu'il soit dans le même répertoire.

-comment fait-on pour modifier la liste déroulante dans la "box"? Je n'ai mis ici que 3 exemples sans les noms complets des commerciaux, et je ne trouve pas non plus l'endroit où changer les données.

C'est automatique. Attention, il faut que les noms des classeurs des commerciaux correspondent exactement aux noms affichés dans la colonne I (notamment les espaces....)

Pour voir le code, tu vas sur l'userform1, dans le VBE (Alt + F11), double-clic sur "Feuille", à gauche, puis double-clic sur "Userform1", et enfin double-clic sur le bouton "Extraction". Tu verras tout le code.

Si tu as d'autres questions, n'hésite pas.

Bonne soirée
 

Ophé

XLDnaute Junior
Re : Utilisation des InputBox

Bonjour bhbh, bonjour le forum,

Un grand merci bhbh, je teste cette macro et elle fonctionne comme je le désire.
Je suis tes conseils, pour noms de commerciaux écris différemment je crois que je vais utiliser une macro pour remplacer les noms, les données se faisant par extraction, la liste déroulante est difficile à mettre en place.

J'essaie maintenant de recréer la macro sur mon fichier réel, je suis arrivée à créer la "box" et à relier le code (j'ai fait copier coller de celui du fichier reduis) mais je n'arrive pas à relier le bouton GO à cette macro puisqu'elle n'apparait pas dans "affecter une macro" comment faut-il faire pour cette commande, et peut-on créer une commande clavier (ctrl + ...)??

Merci pour tout bhbh, cela m'aide vraiment.

Ophé
 

Cousinhub

XLDnaute Barbatruc
Re : Utilisation des InputBox

Bonjour,

mais je n'arrive pas à relier le bouton GO à cette macro

le code est dans le module 1 :

Code:
Sub extract()
UserForm1.Show
End Sub

peut-on créer une commande clavier (ctrl + ...)??

Pour créer un raccourci clavier sur une macro déjà existante, tu fais :

Outils/Macro/Macros...

Clique sur Options, en bas et rajoute le raccourci que tu désires

Bonne journée

Edit, c'est vrai que tu es sous 2007...

Ruban Développeur, tu cliques sur Macros, à gauche et la procédure est la même
 

Discussions similaires

Réponses
8
Affichages
537
Réponses
7
Affichages
364

Statistiques des forums

Discussions
312 571
Messages
2 089 804
Membres
104 276
dernier inscrit
helenevellocet