cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009
-
24 févr. 2009 à 13:21
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009
-
25 févr. 2009 à 11:05
bonjour à tous, mon problème est simple et pourtant je n'arrive pas a trouver une solution.
j'ai créer un programme qui répéte une macro suivant une liste je souhaite qu'elle s'arrête lorsqu'elle rencontre une cellule vide. je ne sais pas du tout comment mis prendre.
ma macro utilise for n=-- to "end"
merci de m'aider.
bonne journé a tous!
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011 25 févr. 2009 à 10:24
Hello,
Si je reprend la macro, en éliminant le Do while + loop, ta macro fonctionnait mais le souci c'est l'impression de page blanches, non ?
Ceci fonctionne, stoppe dès qu'il rencontre la première occurence vide
For N = -3 To 5000
Range("N4").Select
ActiveCell.FormulaR1C1 = "=R[" & CStr(N) & "]C18"
If Activecell.value=0 then
exit for
else :
Selection.Copy
Range("N4").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
end if
Next N
Si le soucis est de suspendre l'impression si vide mais de balayer quand même les 5000 lignes et de valider l'impression que si non vide, il est préférable d'utiliser le code ci-dessous:
For N = -3 To 5000
Range("N4").Select
ActiveCell.FormulaR1C1 = "=R[" & CStr(N) & "]C18"
If Activecell.value<>0 then
Selection.Copy
Range("N4").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
end if
Next N
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009 25 févr. 2009 à 09:00
bonjour à tous et merci d'avoir répondu à mon appel!
j'ai dus mal à appliquer vos codes sur ma macro
voici mon programme:
Userrqi115,
j'ai essayer avec ce que tu m'a conseiller, sur ma macro ce qui donne:
Sub Macro2()
For N = -3 To 5000
Do While Not ActiveCell.Value = ""
Range("N4").Select
ActiveCell.FormulaR1C1 = "=R[" & CStr(N) & "]C18"
Selection.Copy
Range("N4").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Loop
Next N
End Sub
Le problème est que le copier coller ne se fait plus!
je sais pas pourquoi? Comment dois je tourner ma macro pourque cela fonctionne? merci m'aider un peu plus...
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009 25 févr. 2009 à 09:34
j'ai créer une feuille "masque" qui par rechercheV vient récuperer des données dans un tableau classer par n° d'équipement, la valeur rechercher étant la cellule N4. cette cellule ce présente sous forme de liste déroulante ainsi une liste des équîpements se trouve sur la colonne C18.
le but de cette macro est de pouvoir imprimer ce feuillet pour tout les équipements et non pas une part une.
je suis dispo pour répondre à toute vos questions!
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009 25 févr. 2009 à 09:51
Non, le tableau ce trouve sur une autre feuille.
le masque est conçu pour une meilleur lecture. le principe est de choisir un équipement grace à la liste déroulante pour avoir les données sur cette feuille. on peut imprimer si l'on veut.il existe un seul masque,celui-ci se remplit par rapport à l'équipelment choisit. le problème c'est que j'ai besoin d'imprimer un exemplaire pour tout les équipements. ce qui induit une macro qui répéte l'impréssion en fonction du choix de la cellule. jusque là la macro fonctionne.( si je lui donne une plage de donné définit: copie-coller suivant une variable sur N4 et imprime) je voudrai que cette macro s'arrête lorsqu'elle arrive en bout de liste.
est ce que je suis clair?
faustina
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202172 25 févr. 2009 à 10:01
j'essaie de résumer ce que j'ai saisi, je te propose un code dans la foulée.
tu as une feuille avec une liste d'equipements.
en tapant un critère en N4
tu va fouiner chaque ligne, pour n'extraire que les lignes qui vont bien, et les placer dans une autre feuille, prete a etre imprimée