combobox sur plusieurs feuilles

P

philippe13

Guest
Bonsoir le forum

Dans une application j'ai plusieurs fichiers du même type.
En consultant votre "nouveau coffret" (Bravo et merci au passage pour ce travail), j'ai vu que l'on pouvait travailler sur plusieurs feuilles dans un même classeur.
J'ai donc eu l'idée de rester dans un classeur, et chacun de mes fichiers dans une feuille. Il peut y en avoir 10, voire plus.
J'ai besoin de trouver des données communes à ces fichiers, comme je le détaille dans le fichier joints.

Mon niveau en VBA est assez limité, j'essaye de mon côté à toruver la solution mais ai du mal à y parvenir.

Si quelqu'un pouvait m'aider a réaliser ce travail.
Merci par avance.
Bonne soirée à tous
Philippe13
 
R

Robert

Guest
Salut Philippe,

J'ai l'impression que ton fichier joint est parti en fumée... Vérifie que le nom qu'il porte ne contient pas d'espace ou de caractères interdit (voir charte) et essaie à nouveau car sinon tu auras du mal à te faire aider.

À plus,

Robert
 
P

philippe13

Guest
Re le forum
Re Robert

Ta réponse semble correspondre à ce que j'attendais. Je vais affiner ça à mes besoins et te tiendrai au courant du résultat et des plus à apporter, si nécessaire.
MAis c'est génial déjà, je fais un grand pas en avant .
Merci à toi et Merci au Forum.
@ bientôt

Philippe
 
P

philippe13

Guest
Bonsoir le Forum
Bonsoir Robert

J'ai essayé, et ça marche parfaitement.
Juste une question: là on travaille sur plusieurs feuilles d'un même classeur. Peut-on faire la même chose si chacune des feuilles est un fichier à part. Ce qui revient a dire est-il possible d'obtenir la même chose a partir de plusieurs classeurs contenant chacun une seule feuille.

Dans l'atente d'une réponse, je vous souhaite à tous une bonne soirée.

Philippe13
 
R

Robert

Guest
Re bonsoir Philippe, bonsoir le forum,

Oui c'est possible mais un peu plus complexe. Pour simplifier il faudrait que tous les classeurs soit au préalablement ouverts. Il faudrait créer un classeur (par exemple : Tableau croisé.xls) qui contiendrait la macro et qui afficherait le tableau résultant.
On peut aussi demander à la macro de tout faire, ouvrir les fichiers, créer le tableau puis refermer les fichiers. Mais là on risque le bug pour peu qu'un fichier ne soit pas placé dans le bon répertoire ou sera qui sera caduc si un nouveau fichier créé n'est pas pris en compte.

Si tu es sûr du nombre, du nom et de l'emplacement des fichiers, autant lui faire tout faire. Sinon, tu ouvres les fichiers nécessaires, le fichier matrice (Tableau croisé.xls), tu fermes tous les autres fichiers Excel qui n'ont rien à voir à l'histoire et tu lance la macro.

J'attends que tu m'en dises plus pour me mettre à la tâche et te soumettre un code basé sur ce que je t'avais déjà proposé.

À plus,

Robert
 
P

philippe13

Guest
Re le forum
Re Robert

Oui je vois effectivement que c'est un peu plus compliqué.
En fait dans mon appliation, je reçois des fichiers et j'utilise des macros qui les mettent en forme de la même manière, enlève les doublons, réorganise les données...
Si le fichier que je traite existe déja, les données sont complétées, si le fichier a traiter ne l'a jamais été, un nouveau fichier est complété.
Le nombre de fichiers peut varier de deux ou trois à une dizaine.

Je pense qu'il serait donc plus simple pour moi de modifier ma macro de manière à ce que mes fichiers crées se fassent chaque fois dans une nouvelle feuille d'un classeur défini. ANisi on retomberai sur ton code.

Voilà une partie de ce que j'ai actuellement, il s'agit la de la création du fichier qui est créé s'il nexiste pas. (pardon pour le style du code mais j'ai fait ce que j'ai pu, mais ça marche)

Donc il faudrait le modifier pour que les données se mettent dans un même classeur "TRAITES" (par exemple) et sur la feuille "feuillen" qui prendrait le nom de "valeur"B2".

.../...
Sub CreenomB2()
ThisFile = Range("B2").Value 'je donne la valeur B2 comme nom de fichier
Range("a1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Chemin = ActiveWorkbook.Path & "\" & "TRAITES" & "\"
Workbooks.Add
'Se positionner en fin de fichier
Range("A1").Select
ActiveSheet.Paste
'Réajuster les colonnes
Cells.Select
Cells.EntireColumn.AutoFit
Range("a1").Select

ActiveWorkbook.SaveAs Filename:=Chemin & ThisFile
ActiveWorkbook.Close Savechanges:=False
ActiveWorkbook.Close Savechanges:=False
End Sub

Merci par avance du coup de pouce à venir, dans la mesure où j'ai été assez clair dns mes explications.

A Bientôt
Philippe13
 
R

Robert

Guest
Re Philippe,

En piece jointe un fichier zippé contenant le fichier Excel TRAITES.xls et un fichier Word Explications.doc avec quelques remarques.

À plus,

Robert
 

Pièces jointes

  • TRAITES.zip
    26.4 KB · Affichages: 29
P

Philippe13

Guest
Bonsoir le forum
Bonsoir Robert

Merci, une fois de plus pour ta réponse. Je viens juste de lire le fichier word joint et n'ai pas encore essayé le fichier joint. Vu l'heure, je le ferai demain à tête reposée.
Ceci dit au vu de ton fichier word complet et explicatif, je me dois tout de même d'apporter quelques précisions sur ma demande que tu trouveras détaillées dans le fichier joint.
Merci encore et à bientôt
Philippe
 

Pièces jointes

  • explications.zip
    3.9 KB · Affichages: 27
  • explications.zip
    3.9 KB · Affichages: 20
  • explications.zip
    3.9 KB · Affichages: 23

Discussions similaires

Statistiques des forums

Discussions
313 095
Messages
2 095 216
Membres
106 223
dernier inscrit
gel