cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009
-
18 févr. 2009 à 10:56
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009
-
23 févr. 2009 à 10:40
bonjour a tous ,
je souhaite créer une macro qui me permetterai de répéter une impression en modifiant une variable situer à la cellule "N4:O4" . la variable est sous forme de liste déroulante qui se trouve sur la plage R1: R20.
j'ai essayer de poser une variable n de la manière suivante:
For n -3 To n 17
seulement la macro ne reconnait pas l'objet je suppose que la définition de n n'est pas exact je n'arrive pas à trouver une autre solution. Pourrait on m'aider sur cette macro qui commence à bouillonner mon cerveau!!! si cela peut vous aider j'ai essayer d'enregistré cette macro pour 2 impression voici ce qui à été écrit :
Sub Macro2()
Range("N4:O4").Select
ActiveCell.FormulaR1C1 = "=R[-3]C[4]"
Range("N5:O5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("N4:O4").Select
ActiveCell.FormulaR1C1 = "=R[-2]C[4]"
Range("N5:O5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 févr. 2009 à 19:50
Salut
Dans ta ligne
ActiveCell.FormulaR1C1 = "=R[n]C[4]"
'n' est une variable. Il faut donc la ressortir de la chaine de caractères :
ActiveCell.FormulaR1C1 = "=R[" & CStr(n) & " ]C[4]"
Le CStr est là pour être précis dans le style de conversion numérique vers chaine.
Si tu ne le mets pas, tu risques d'avoir un espace devant le chiffre : emplacement d'un hypothétique signe "+", et un espace rique d'être mal interprété par Excel.
Pour info : Le VB de Excel est du VBA, pas du .Net --> Catégorie de la question modifiée
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009 19 févr. 2009 à 08:36
Bonjour,
Je te remercie pour ton aide ainsi que pour la rapidité de ta réponse. J'ai ressortie 'n' de la chaine comme tu me la expliqué précedemment, cependant le message d'erreur s'affiche toujours: erreur "1004" pour" identification de l'objet. "
Pourrait tu m'aider une fois de plus?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 févr. 2009 à 15:35
Re
Sur quelle ligne as-tu cette erreur ?
Essye d'être plus précis sur le contenu du message, car il y ressemble, mais n'est pas complet.
S'il te demande un obet, c'est qu'il manque la sélection de la feuille ou de l'objet avant de procéder.
Non, un For-Next n'accepte pas cette dernière syntaxe
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_faustina
Messages postés11Date d'inscriptionmercredi 18 février 2009StatutMembreDernière intervention25 février 2009 23 févr. 2009 à 10:07
bonjour bonjour,
j'ai corriger ma macro celleci fonctionne à merveille!
Sub Macro2()
For N = -3 To 1
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
Next N
End Sub
maitenant j'aimerai que ma macro s'arrête à la fin de la liste. soit quand il rencontre une cellule vide.
je connait une formule mais je ne dois pas l'appliquée correctement car la macro ne s'arrête pas.
il s'agit de dire:
For N= -3 to range("R6000").End(xlUp).Row
Ma formule est elle celle a utilisée? que dois je modifier ou rajouter pour qu'elle fonctionne sachant que ma liste se trouve à la colonne R?
merci pour tout tes conseils!!