bouclage sur tableau

ifi77

XLDnaute Occasionnel
Bonjour @ tous,

suite aux conseils de MJ13, suite à un probleme de procédure trop longue, en effet à partir d'une base de données j'extrait les informations pour créer une fiche personnelle.
cependant ayant presque 400 critères et utilisant une succession de copy:

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 6).Copy
ActiveWorkbook.ActiveSheet.Range("e5").PasteSpecia l Paste:=xlPasteValues

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 7).Copy
ActiveWorkbook.ActiveSheet.Range("e6").PasteSpecia l Paste:=xlPasteValues

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 8).Copy
ActiveWorkbook.ActiveSheet.Range("c7").PasteSpecia l Paste:=xlPasteValues

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 9).Copy
ActiveWorkbook.ActiveSheet.Range("f7").PasteSpecia l Paste:=xlPasteValues

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 10).Copy
ActiveWorkbook.ActiveSheet.Range("c8").PasteSpecia l Paste:=xlPasteValues

la procedure devient trop longue.

Ainsi MJ13 m'a proposer de créer un tableau de concordance et de boucler dessus.

J'ai donc créer le tableau que je vous mets en pièce jointe avec 1 colonne concernant le décalage cells(n,x), le n étant déja défini auparavant dans le reste de la procédure; 1 colonne avec la feuille d'origine, 1 autre avec la feuille de destination et enfin le range de destination.

Mon probleme est de créer une boucle reprenant cela:

Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, 10).Copy
ActiveWorkbook.ActiveSheet.Range("c8").PasteSpecia l Paste:=xlPasteValues

en remplaçant les éléments en rouge par ceux des colonnes du tableau en variable et brossant tout le tableau

en espérant avoir été suffisament clair.
Pour l'exemple j'ai regroupé l'ensemble sur un meme classeur, dans l'application le classeur base de données et fiche individuelle sont séparés.

Merci d'avance

@+
 

Pièces jointes

  • pour forum.xls
    33.5 KB · Affichages: 61
  • pour forum.xls
    33.5 KB · Affichages: 66
  • pour forum.xls
    33.5 KB · Affichages: 62

Paritec

XLDnaute Barbatruc
Re : bouclage sur tableau

Bonjour Ifi77 le forum
ton fichier est super bien et les explications dedans sont très claires, avec cela on va t'aider sans soucis
juste le temps de courir acheter une boule de cristal !!!!!!!!!!!!!!!!!!!!!!!!!!!!
enfin pour faire la même chose que sur ton post regardes ci-dessous
a+
papou:)

Code:
for i = 6 to 10
Workbooks("suivi RH compagnie.xls").Sheets("rensprivés").Cells(n, i).Copy
 ActiveWorkbook.ActiveSheet.Range("e"&i-1).PasteSpecia l Paste:=xlPasteValues
next i
 
Dernière édition:

ifi77

XLDnaute Occasionnel
Re : bouclage sur tableau

Bonjour paritec je vais essayer de te faire économiser 1boule,en fait il n y a pas de suite c est pour cela que je veux passer par une feuille qui met par ligne les correspondance c est a dire le décalage des données a copier dans la base, le nom de la feuille de la base car cette dernière en a plusieurs par thème puis la feuille de destination et enfin la cellule de destination.

Je cherche donc une macro qui associe les 4 et cela sur toutes les lignes du tableau
Cf feuil1
 

Paritec

XLDnaute Barbatruc
Re : bouclage sur tableau

Bonjour Ifi77,
tes explications c'est que du bonheur, j'espère que tu comprends ce que tu écris au moins?
As tu déjà essayé de te mettre à la place des gens à qui s'adressent tes posts sans connaître le fichier??? non de toute évidence.
Tu parles chinois mon cher pas autre chose
si tu prends le temps d'expliquer, en mettant dans le fichier des explications et au besoin des exemples je te le ferai, autrement bah "bonne journée"
a+
papou:)
 

ifi77

XLDnaute Occasionnel
Re : bouclage sur tableau

salut paritec pas evident je sais de comprendre, enore plus quand j'écris depuis mon telephone, voila je crée le fichier d'exemple et je te le mets, voila j'espere que mon français te cier plus merci de ton aide

@+
 

ifi77

XLDnaute Occasionnel
Re : bouclage sur tableau

Bonjour Paritec,

n'ayant pas eu le temps de le créer hier d'autant que je n'avais pas accès à excel je te mets les 2 fichiers l'un contenant l'appli et la base de donnée nommé "pour forum " et l'autre la fiche individuelle vierge qui se remplira automatiquement.

Sur cet exemple la création fonctionne, cependant lorsque je mets la fiche complete avec près de 400 lignes la procédure devient trop longue, une idée m'a été suggéré par MJ qui est de créer une table récapitulant les liens de copie que j'ai fait pour exemple dans le classeur pour forum feuille: "tableau lien", dans cette feuille en colonne A est le décalage horzontal dans la base de donnée, en B la feuille d'origine de la base de donnée (car plusieurs feuilles), en C la feuille de destination et en fin en D la cellule de destination de la copie.

Voila parcequ'un exemple vaut mieux que de longue explication je te laisse les 2 classeurs, merci pour ton aide.

@+
 

Pièces jointes

  • pour forum.xls
    72 KB · Affichages: 61
  • pour forum.xls
    72 KB · Affichages: 54
  • pour forum.xls
    72 KB · Affichages: 55
  • Fiche individuelle.xls
    23 KB · Affichages: 88
  • Fiche individuelle.xls
    23 KB · Affichages: 101
  • Fiche individuelle.xls
    23 KB · Affichages: 99

Paritec

XLDnaute Barbatruc
Re : bouclage sur tableau

Bonjour Ifi77 le forum
Bon alors j'ai déjà vu des fichiers merdiques, mais comme le tien pas encore, rien n'est fait comme il faut, aucune possibilité de faire des boucles simple, et en plus un des éléments qui aurait pu être automatisés, tu as eu la bêtise, (pour rester poli) de sauter des colonnes, exemple la 16ème bah on saute pourquoi, là ????? et plus loin à la 20 de mémoire on saute là cette fois ci de 3 colonnes re pareil, le pourquoi?????
Bref un fichier on tu n'arriveras pas à te retrouver dans peu de temps.
Si on ajoute le fait que tu fais référence à deux feuilles pour remplir ta fiche, là aussi va comprendre pourquoi, tu as la possibilité avec 2003 de 256 colonnes et toi tu en a besoin de 60 alors tout sur une même feuille et basta.
Voilà donc ton fichier en retour avec le remplissage par rapport à la listbox et non pas à une cellule dans la feuille fonctionnement que j'ai d'ailleurs supprimée.
Tu selectionnes une ligne dans la listbox et tu fais OK.
en bref un fichier moche de chez pas beau mais maintenant qui a une macro qui marche
avec encore deux feuille Resprivé et Sim je sais plus quoi
a+
papou:)
 

Pièces jointes

  • pour forumV2.xls
    81 KB · Affichages: 53
Dernière édition:

ifi77

XLDnaute Occasionnel
Re : bouclage sur tableau

Merci Paritec,
Je sais que le fichier brut comme cela parait un peu bordélique, je l'avoue mais ce n'est qu'un extrait d'une application beaucoup plus complexe à laquelle j'ajoute au fur et à mesure des fonctionnalités non prévues au départ du projet (comme d'habitude ce serais bien si 'lon essayais cela...) en fin compte les cases sautées sont des informations de la base de donnée qui n'ont pas besoin d'apparaitre mais vu que je n'est pas forcément le temps de recodé l'ensemble de l'appli...
Pour le fait de mettre plusieurs pages, saches que le bombre de données réelles est considérable et que pour certaines pages j'atteint presque les 256 cellules.

Dans tous les cas merci de ton aide, je vais adapter ta solution à mon application et je te tiens informé du résultat

Merci encore et @ bientot

@+
 

Discussions similaires

Réponses
7
Affichages
449

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 997
dernier inscrit
SET2A