Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
360 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Macro Excel : remplir cases avec données précises et imprimer

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro Excel : remplir cases avec données précises et imprimer

n°2947743
Nutsimilie​n
Posté le 31-05-2010 à 11:16:06  profilanswer
 

Bonjour à tous,
 
Je souhaite créer un fichier excel pour mon travail qui allègerais considérablement certains aspects désagréables de mon poste. Je pense que grace à vous je pourrais faire en 10 minutes ce  qui me prend deux jours. Voilà le problème.
 
J'ai un fichier excel contenant une feuille "répertoire des fiches de contrôles". Dans cette feuille sont listées des "Noms d'éléments", leur "Numéro" (incrémenté) et le "type de fiche de contrôle" utilisé pour les contrôler.
 
Ceci est un répertoire qui sert à éditer des fiches de contrôles pour chaque élément. Problème, il y a 45 types de fiches de contrôle.
 
Ces 45 types de fiche sont présents dans mon fichier sous forme de feuilles portant les noms 1 à 45.
 
j'aimerais créer une macro qui m'imprime toutes les fiches listées dans le répertoire avec le type de fiche adéquat et qu'en plus, dans la nomenclature de chaque fiche apparaisse le nom d'élément et le numéro correspondant.
 
Merci par avance pour toute l'aide que vous pourrez m'apporter !

mood
Publicité
Posté le 31-05-2010 à 11:16:06  profilanswer
 

n°2947757
TAM136
Posté le 31-05-2010 à 12:53:51  profilanswer
 

Bonjour,
 
Il y a pas mal de pros qui pourront certainement t'apporter une aide mais un fichier joint (même bidon) ou un screenshot seront grandement utiles.

n°2947760
Nutsimilie​n
Posté le 31-05-2010 à 13:09:38  profilanswer
 

Re-bonjour à tous,
 
Alors voila voici mon répertoire :
http://img692.imageshack.us/img692/7225/repertoire.th.jpg
 
Uploaded with ImageShack.us
On peu voir qu'il y a ici 3 lignes d'éléments. En colonne A se trouvent leurs noms et en B les numéros des fiches. en H (hors impression) on peu voir les numéro des types de fiches à utiliser qui correspondent à des feuilles du même numéro (j'ai laissé uniquement 1, 2 et 3 pour alléger mais il y en a 45).
 
Je souhaite imprimer ces quatre fiches (/01 à /04) dans les formats définis par les feuilles (on peu voir en colonne H que ici c'est type 1, type 2, type 2 et type 3).
 
 
http://img444.imageshack.us/img444/9793/feuille1.th.jpg
 
Uploaded with ImageShack.us
Ca c'est une des feuilles types (la 1). Je voudrais que quand ma fiche de contrôle /01 s'imprime, elle soit comme celle ci avec juste le nom (colonne A) et le numéro de la fiche (colonne B) en haut à la suite de "fiche n°"...
 
Voila voila merci de m'éclairer !

n°2947794
dje69r
Arme de distraction massive
Posté le 31-05-2010 à 16:15:52  profilanswer
 

Hello
 
Explique un peu mieux. Dans ta fiche /01, qui, si j'ai bien compris, devra etre imprimé avec les infos de l'onglet FTK.
Donc avec ton exemple, il devrait imprimer la fiche 1 avec les infos de la ligne 14, la fiche 2 avec les infos de la ligne 15 etc. ?
Donc sur ta fiche 1, où doit apparaitre "Cables locaux" ?
Sur ta fiche 1, les lignes 13 et suivantes doivent rester remplies ?


---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°2947796
Nutsimilie​n
Posté le 31-05-2010 à 16:22:28  profilanswer
 

dje69r a écrit :

Hello
 
Explique un peu mieux. Dans ta fiche /01, qui, si j'ai bien compris, devra etre imprimé avec les infos de l'onglet FTK.
Donc avec ton exemple, il devrait imprimer la fiche 1 avec les infos de la ligne 14, la fiche 2 avec les infos de la ligne 15 etc. ?
Donc sur ta fiche 1, où doit apparaitre "Cables locaux" ?
Sur ta fiche 1, les lignes 13 et suivantes doivent rester remplies ?


 
Salut et merci de l'interet que tu porte à mon message,
 
Dans l'exemple il doit m'imprimer :
1 feuille "1" avec les infos de la ligne 14,
2 feuilles "2" : une avex les infos de la ligne 15 et une avec celles de la ligne 16,
1 feuille "3" avec les infos de la ligne 17.
 
En fait c'est comme du publipostage et en fonction du type donné en colonne H on imprime les renseignements sur telle ou telle feuille. Et pour simplifier, la valeur de H est le nom de la feuille à utiliser...
 
C'est un peu plus explicite ?

n°2947804
dje69r
Arme de distraction massive
Posté le 31-05-2010 à 16:47:54  profilanswer
 

Oui ca j'ai bien compris. Mais "Cables locaux" situé en FTK!A14 doit se retrouver où sur la feuille 1 ?

Message cité 1 fois
Message édité par dje69r le 31-05-2010 à 16:48:27

---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°2947810
Nutsimilie​n
Posté le 31-05-2010 à 17:13:43  profilanswer
 

dje69r a écrit :

Oui ca j'ai bien compris. Mais "Cables locaux" situé en FTK!A14 doit se retrouver où sur la feuille 1 ?


 
Dans C3 (enfin c'est une cellule fusionée de C3 à H3) et le "/01" en FTK!B14 doit aller en I3...

n°2947895
dje69r
Arme de distraction massive
Posté le 01-06-2010 à 10:19:44  profilanswer
 

Donc "Fiche N°" en A3 n'a rien...?
Ca parait logique pour toi, mais pour quelqu'un de l'exterieur, ne connaissant ni le processus, ni a quoi ressemble une page a imprimer c'est pas evident.
La macro est des plus basique, au pire je te montre comment faire et tu adaptes ou mettre les infos, parceque s'il faut que je te demande où mettre une info a chaque fois on va pas s'en sortir...
 

Code :
  1. Sub Nutsimilien()
  2. 'Ligne a laquelle on commence a ecrire
  3. LigneEntree = 14
  4. 'Calcule la derniere ligne ou il y a quelque chose en A
  5. DerniereLigne = Range("A" & LigneEntree).Row + Range("A" & LigneEntree).CurrentRegion.Rows.Count - 1
  6. 'Pour chaque ligne renseigne les cellules et on demande si on veut imprimer la page
  7. For x = LigneEntree To DerniereLigne
  8.     With Sheets(CStr(Cells(x, 8).Value))
  9.         .Range("C3" ).Value = Range("A" & x).Value
  10.         .Range("I3" ).Value = Range("B" & x).Value
  11.         If MsgBox("Pret a imprimer la feuille " & .Range("C3" ).Value & Chr(10) & _
  12.         "Voulez vous continuer ?", vbQuestion + vbYesNo) = vbYes Then .PrintOut
  13.     End With
  14. Next x
  15. End Sub


Message édité par dje69r le 01-06-2010 à 11:04:44

---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°2948251
Nutsimilie​n
Posté le 03-06-2010 à 10:50:13  profilanswer
 

Salut et merci,
 
Ca marche super c'est exactement ça... Ca imprime comme je le veux par contre la commande debogage apparait en me disant "erreur d'execution 9 : l'indice n'appartient pas à la sélection" et quand je clic sur debogage ca surligne en jaune ta ligne 10...
 
Merci d'avance mais c'est déjà génial !

n°2948258
dje69r
Arme de distraction massive
Posté le 03-06-2010 à 11:07:07  profilanswer
 

Que renvoit x au moment du "plantage" ?
Le plantage est a la fin ? vu que tu as l'air ravi, c'est que ca doit tourner...


---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
mood
Publicité
Posté le 03-06-2010 à 11:07:07  profilanswer
 

n°2948260
Nutsimilie​n
Posté le 03-06-2010 à 11:15:05  profilanswer
 

Heu désolé là je vois pas ce que c'est x... je regarde ça ou ?
 
Sinon oui ca marche c'est juste qu'à la fin il y a le debogage qui se met en route car ca a planté mais bon ca a eu le temps de tout m'imprimer ! ^^
 
Merci encore

n°2948267
dje69r
Arme de distraction massive
Posté le 03-06-2010 à 11:31:46  profilanswer
 

C'est que je dois prendre une ligne vide, j'ai du me gourer dans la definition de la variable "DerniereLigne"
 
Quand ca beugue. Tu dois avoir une ligne en surbrillance jaune. En l'occurence la 10.
Tu deplace ta souris jusqu'au "x" de With Sheets(CStr(Cells(x, 8).Value)) et dis moi ce que marque l'infobulle. En fait ca te dira le numéro de la ligne. Et faut que tu verifie si sur cette ligne, en colonne H tu as bien quelque chose.
 


Message édité par dje69r le 03-06-2010 à 11:32:23

---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°2948347
Nutsimilie​n
Posté le 03-06-2010 à 15:36:44  profilanswer
 

ok bah c'est à chaque fois le numero de la ligne suivant la dernière où il y avait des infos... Ca doit etre un problème de fin, il ne sait pas que quand c'est vide c'est que c'est fini alors il dis "bug bug bug cette cellule est vide !" ^^
 
Que dois-je modifier ?

n°2948356
dje69r
Arme de distraction massive
Posté le 03-06-2010 à 15:50:07  profilanswer
 

Bizarre. La derniere ligne est calculée en fonction de ce qu'il y a dans la colonne A
Tu as des infos en colonne H pour tout ce qui est mis en colonne A ?


---------------
Plus tu pédales moins vite, moins tu avances plus vite — SuperLoustic ! La radio des Loustics !
n°2948358
Nutsimilie​n
Posté le 03-06-2010 à 15:56:19  profilanswer
 

Oui, a chaque fois qu'il y a quelque chose en A il y a en H et s'il n'y a rien en A il n'y a rien en H.
 
Sinon j'aurais aimé faire une autre macro avec exactement la même chose mais que ça imprime dans un PDF avec "l'imprimante" PDFCreator" c'est possible ?
 
Merci d'avance pour ca et merci encore pour le reste ca m'aide beaucoup !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Macro Excel : remplir cases avec données précises et imprimer

 

Sujets relatifs
Lister et imprimer répertoiresMS Project durée de projet via macro?
Graphique excel pour un nul...fichier.cub sur réseau avec excel 2000 en local
Besoin d'aide pour graphique ExcelGestion de listes de diffusion dans Excel
Question sur fichier excelTransfert de donnees en plusieurs morceaux
aide pour base de données virtuelleRécupération données disque formatée en ext2
Plus de sujets relatifs à : Macro Excel : remplir cases avec données précises et imprimer


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR