"+1" dans une cellule à chaque impression, impressions enchaînées

hrsg

XLDnaute Nouveau
Bonjour à tous,

J'ai un listing sur Excel avec en deuxième feuille une fiche récapitulative. Cette fiche va chercher les infos dans le listing selon le numéro entré dans une cellule, correspondant à l'identifiant se situant en première colonne de mon listing. Bref que des RECHERCHEV(), ça marche très bien.
Le soucis est que je suis à 200 personnes et que je n'ai pas le temps de revoir beaucoup de choses.

Je souhaiterais donc simplement pouvoir imprimer toutes mes fiches relativement simplement, j'imagine que c'est possible via une macro. Il faudrait au minimum que ça fasse "+1" entre chaque impression, l'idéal étant que je choisisse la liste des numéros que je veux imprimer (en pointant par exemple vers une liste, ou en remplissant un champ).

Je préfère vous demander car je ne sais rien faire en VBA, voici ce que donne l'enregistrement de début de la macro :

Sub essai()
'
' essai Macro
' Macro enregistrée le 5/09/2007 par **
'

'
Range("I2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2").Select
ActiveCell.FormulaR1C1 = "2"
Range("I3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2").Select
ActiveCell.FormulaR1C1 = "3"
Range("I3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub


Dernière précision : je travaille sous Mac OS X avec Microsoft Office 2004.

Merci d'avance
 

Catrice

XLDnaute Barbatruc
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Bonjour,

Tu peux essayer quelque chose du genre :

Sub essai()
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2") = Range("I2") + 1
End Sub

La cellue I2 s'incremente à chaque impression
 

hrsg

XLDnaute Nouveau
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Ça fonctionne, par contre il faut l'exécuter 200 fois !
Comment boucler cette macro ?

Est-il possible de définir les numéros que je souhaite avoir consécutivement dans la cellule ? Par exemple pour imprimer les fiches 1 2 4 5 6 7 8 10 et 14 par exemple !

Merci
 

Catrice

XLDnaute Barbatruc
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Bonsoir,

Pour choisir les valeurs :
Sub essai()
Matrice = Array(1, 2, 4, 5, 6, 7, 8, 10, 14)
For Each X In Matrice
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2") = X
Next
End Sub

Pour boucler 200 fois :
Sub essai2()
For i = 1 To 200
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2") = i
Next
End Sub
 

hrsg

XLDnaute Nouveau
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Merci beaucoup...
Pour perfectionner un peu plus, je souhaitais savoir si on pouvait remplacer la liste dans le code par une zone dans laquelle la liste sera, par exemple la colonne A de la feuil3 ?

Matrice = feuil3!A
For Each X In Matrice

Ça marcherait ???
 

Cousinhub

XLDnaute Barbatruc
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Bonsoir, ou bonjour
Pas de problème, tu mets les numéros des fiches à imprimer dans ta colonne A, de A1 à Axx, et tu remplaces la boucle :

For i = 1 To 200
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("I2") = i
Next

par :

For i = 1 to Range("A65000").End(xlUp).Row
Range("I2").Value = Cells(i, 1).Value
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next i
 

Catrice

XLDnaute Barbatruc
Re : "+1" dans une cellule à chaque impression, impressions enchaînées

Bonjour à tous,

Ou bien :

Sub Test()
For Each X In Range(Range("A1"), Range("A65000").End(xlUp))
Range("I2") = X
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 445
Membres
103 213
dernier inscrit
Poupoule