Débutant en macro sur excel!

Débutant en macro sur excel! - VB/VBA/VBS - Programmation

Marsh Posté le 01-06-2005 à 00:42:05    

Bonjour, je viens d'arriver sur ce forum et j'ai constaté que vous vous y connaissiez en macro sur excel. En fait mon problème, j'en suis sur, est tout simple. Je cherche à faire une extraction d'un fichier excel à partir d'un autre en exécutant une requête automatique si possible.  
Je m'explique brièvement: je voudrais que le 2è tableau que je créé par extraction reprenne les lignes qui respectent un des choix définis dans une colonne.  
Je ne sais pas si j'ai été clair, mais j'ai besoin d'aide car je suis bloqué.  
Pour l'instant, j'ai essayé de faire du collage spécial avec liaisons mais le problème est que mon nouveau tableau reprend toutes les lignes de l'ancien et que ça va m'obliger à faire un tri après, alors que j'aurais voulu que ce tri sur les lignes soit automatique!  
ya peut -être même un autre moyen!
Pouvez-vous m'aider?? Merci d'avance!

Reply

Marsh Posté le 01-06-2005 à 00:42:05   

Reply

Marsh Posté le 01-06-2005 à 01:09:30    

Un peu plus de détails nous aiderait.
 
Contenus des colonnes, critère.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 01-06-2005 à 09:19:07    

En fait, ce sont des colonnes qui contiennent des informations sur des étudiants (nom, prenom, adresse, date de naissance..) avec des statuts sociaux calculés aussi. La colonne qui fait le critère contient une liste déroulante de 3choix. Et selon chacun des trois choix, j'aimerais pouvoir extraire dans des tableaux différents les lignes d'étudiant qui correspondent (comme un tri mais automatique)

Reply

Marsh Posté le 01-06-2005 à 09:35:52    

Qu'il semble difficile de s'exprimer clairement!...
 
Veux-tu que ceux qui ont le critère 1 soient recopiés dans une feuille 1,
2 dans 2
et 3 dans 3
???
 
Il y a une liste déroulante sur chaque ligne?


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 01-06-2005 à 09:37:36    

en gros une requete dynamique avec comme paramètre de sélection (dans le where) le critère de sélection de ta liste déroulante.
Il faut que quand tu clic sur le bouton d'extraction tu récupère le critère et qu'ensuite tu parcours ta feuille ou se trouve tout les étudiants et récupère ensuite les étudiants répondant à ce critère.
C'est ca?

Reply

Marsh Posté le 01-06-2005 à 09:43:10    

Ouai c ça!Il y a une liste déroulante sur chaque ligne.c une requête dynamique dont g besoin.
Parcontre, je n'ai pas fait de bouton et je pensai pourvoir récupérer les lignes automatiquement pour les reporter sur les feuilles correspondantes. Mais s'il fo absolument un bouton j'en ferai un

Reply

Marsh Posté le 01-06-2005 à 09:45:30    

Nan tu n'es pas obligé d'utiliser un bouton. Si tu créé un évènement sur la liste déroulante...

Reply

Marsh Posté le 01-06-2005 à 15:25:07    

Merci de vous êtes intéressé à mon cas!
J'ai fini par trouver une autre solution sans utiliser de macros ni de boutons, mais juste en me référant aux cellules que je veux joindre dans mon fichier d'origine. cela me permet d'actualiser et aussi de récupérer seulement celle qui contiennent mes critères.
Cependant, je suis confronter à un dernier problème: la suppression des lignes qui ne m'intéresse pas. En effet, ma formule me permet de récupérer mes critères tout en effaçant les lignes qui ne m'intéressent pas: je me retrouve avec des lignes vierges que je n'arrive pas à supprimer. Si vous avez une idée...Merci

Reply

Marsh Posté le 09-06-2005 à 10:04:35    

avec un while ou un truc de ce genre...
 
genre:
i=1
while range("A" &i) <> "" 'tant que la colone Ai (A1 si i=1) differente de ensemble vide alors
 
i=i+1
wend
 
if range("A" & i) = "" then
range("A"&i).value = resultat
 
toi tu met la colonne que tu veut parcourir et au lieu de "" tu met la chaine de caractére que tu veut ("lol" ).
 
en gros lors de la copie tu demande a ton prog de baleyez ta page de haut en bas jusqu'a trouver une ligne vide...
 
voilas j'espere que t'aimera..
 
@++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed