J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai :
- une feuille contenant trois reçus identiques.
- une feuillle contenant la liste de mes élèves (dans une seule colonne :
cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de :
1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ?
(cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55).
2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ?
(cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des
indications ?
Bonjour Le publipostage est fait pour toi ! sur la faqword tu trouveras tout un tutoriel là dessus pour exploiter tes données excel dans word bien proprement. http://faqword.free.fr
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai : - une feuille contenant trois reçus identiques. - une feuillle contenant la liste de mes élèves (dans une seule colonne : cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de : 1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ? (cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55). 2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ? (cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des indications ?
Merci pour votre aide ! :)
Bonjour
Le publipostage est fait pour toi !
sur la faqword tu trouveras tout un tutoriel là dessus pour exploiter
tes données excel dans word bien proprement.
http://faqword.free.fr
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Bonjour ! :)
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai :
- une feuille contenant trois reçus identiques.
- une feuillle contenant la liste de mes élèves (dans une seule colonne :
cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de :
1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ?
(cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55).
2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ?
(cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des
indications ?
Bonjour Le publipostage est fait pour toi ! sur la faqword tu trouveras tout un tutoriel là dessus pour exploiter tes données excel dans word bien proprement. http://faqword.free.fr
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai : - une feuille contenant trois reçus identiques. - une feuillle contenant la liste de mes élèves (dans une seule colonne : cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de : 1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ? (cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55). 2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ? (cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des indications ?
Merci pour votre aide ! :)
isabelle
bonjour,
voici un exemple,
Sub Macro1() Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçues"
For i = 1 To 200 Step 3
Range("B7") = Sheets("Feuil1").Range("A" & i) Range("H9") = Sheets("Feuil1").Range("A" & i) Range("B31") = Sheets("Feuil1").Range("A" & i + 1) Range("H33") = Sheets("Feuil1").Range("A" & i + 1) Range("B55") = Sheets("Feuil1").Range("A" & i + 2) Range("H57") = Sheets("Feuil1").Range("A" & i + 2)
Range("C4") = Sheets("Feuil1").Range("A" & i) Range("M5") = Sheets("Feuil1").Range("A" & i) Range("C28") = Sheets("Feuil1").Range("A" & i + 1) Range("M29") = Sheets("Feuil1").Range("A" & i + 1) Range("C52") = Sheets("Feuil1").Range("A" & i + 2) Range("M53") = Sheets("Feuil1").Range("A" & i + 2)
Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut
Next End Sub
isabelle
Bonjour ! :)
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai : - une feuille contenant trois reçus identiques. - une feuillle contenant la liste de mes élèves (dans une seule colonne : cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de : 1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ? (cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55). 2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ? (cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des indications ?
Merci pour votre aide ! :)
bonjour,
voici un exemple,
Sub Macro1()
Dim Msg, Style, Title, Response
Msg = "Souhaitez-vous continuer?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Impression des reçues"
For i = 1 To 200 Step 3
Range("B7") = Sheets("Feuil1").Range("A" & i)
Range("H9") = Sheets("Feuil1").Range("A" & i)
Range("B31") = Sheets("Feuil1").Range("A" & i + 1)
Range("H33") = Sheets("Feuil1").Range("A" & i + 1)
Range("B55") = Sheets("Feuil1").Range("A" & i + 2)
Range("H57") = Sheets("Feuil1").Range("A" & i + 2)
Range("C4") = Sheets("Feuil1").Range("A" & i)
Range("M5") = Sheets("Feuil1").Range("A" & i)
Range("C28") = Sheets("Feuil1").Range("A" & i + 1)
Range("M29") = Sheets("Feuil1").Range("A" & i + 1)
Range("C52") = Sheets("Feuil1").Range("A" & i + 2)
Range("M53") = Sheets("Feuil1").Range("A" & i + 2)
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ActiveSheet.PrintOut
Next
End Sub
isabelle
Bonjour ! :)
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai :
- une feuille contenant trois reçus identiques.
- une feuillle contenant la liste de mes élèves (dans une seule colonne :
cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de :
1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ?
(cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55).
2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ?
(cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des
indications ?
Sub Macro1() Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçues"
For i = 1 To 200 Step 3
Range("B7") = Sheets("Feuil1").Range("A" & i) Range("H9") = Sheets("Feuil1").Range("A" & i) Range("B31") = Sheets("Feuil1").Range("A" & i + 1) Range("H33") = Sheets("Feuil1").Range("A" & i + 1) Range("B55") = Sheets("Feuil1").Range("A" & i + 2) Range("H57") = Sheets("Feuil1").Range("A" & i + 2)
Range("C4") = Sheets("Feuil1").Range("A" & i) Range("M5") = Sheets("Feuil1").Range("A" & i) Range("C28") = Sheets("Feuil1").Range("A" & i + 1) Range("M29") = Sheets("Feuil1").Range("A" & i + 1) Range("C52") = Sheets("Feuil1").Range("A" & i + 2) Range("M53") = Sheets("Feuil1").Range("A" & i + 2)
Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut
Next End Sub
isabelle
Bonjour ! :)
J'utilise Excel 2000 et je dispose d'un fichier excel dans lequel j'ai : - une feuille contenant trois reçus identiques. - une feuillle contenant la liste de mes élèves (dans une seule colonne : cellules A1, A2, A3, etc.).
J'ai environ 250 reçus à imprimer et à compléter à la main pour vendredi...
Serait-il possible de : 1- Faire apparaître automatiquement les noms des élèves dans chaque reçu ? (cellules H9, H33 et H57 et aussi pour le talon : B7, B31 et B55). 2- Faire apparaître automatiquement le numéro de chaque reçu, de 1 à 250 ? (cellules M5, M29, M53 et C4, C28 et C52)
Si cela est faisable, pourriez-vous m'aider à le faire ou me donner des indications ?
Merci pour votre aide ! :)
SecondSight
Bonjour !
C'est pas très clair... Je n'obtiens que des cases vides dans word.
J'ai déjà mon reçu de prêt dans Excel, dois-je d'abord le copier dans Word ou le recréer complètement ? Et comment relier ensuite les cases n° et nom à la feuille Excel ?
Merci ! :)
Bonjour !
C'est pas très clair... Je n'obtiens que des cases vides dans word.
J'ai déjà mon reçu de prêt dans Excel, dois-je d'abord le copier dans Word
ou le recréer complètement ? Et comment relier ensuite les cases n° et nom à
la feuille Excel ?
C'est pas très clair... Je n'obtiens que des cases vides dans word.
J'ai déjà mon reçu de prêt dans Excel, dois-je d'abord le copier dans Word ou le recréer complètement ? Et comment relier ensuite les cases n° et nom à la feuille Excel ?
Merci ! :)
SecondSight
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant). C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec un petit document de 15 élèves. Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Sub Impression_reçus() ' ' Impression_reçus Macro ' Macro enregistrée le 22/08/2007 par SecondSight' Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçus"
Static a As Boolean a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème reçu Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2 Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er reçu Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A de feuille cm1 Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des autres cellules Range("C28") = Sheets("cm1").Range("A" & i + 1) Range("M29") = Sheets("cm1").Range("A" & i + 1) Range("C52") = Sheets("cm1").Range("A" & i + 2) Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False End If
Next
' Application.CommandBars("Stop Recording").Visible = False Application.Goto Reference:="Impression_reçus" End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :) Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur les 15), c'est-à-dire la première page seulement ?
Merci. :)
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant).
C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec
un petit document de 15 élèves.
Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Sub Impression_reçus()
'
' Impression_reçus Macro
' Macro enregistrée le 22/08/2007 par SecondSight'
Dim Msg, Style, Title, Response
Msg = "Souhaitez-vous continuer?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Impression des reçus"
Static a As Boolean
a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de
colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu
Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu
Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème
reçu
Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2
Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er
reçu
Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A
de feuille cm1
Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des
autres cellules
Range("C28") = Sheets("cm1").Range("A" & i + 1)
Range("M29") = Sheets("cm1").Range("A" & i + 1)
Range("C52") = Sheets("cm1").Range("A" & i + 2)
Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ActiveSheet.PrintOut
a = False
End If
Next
'
Application.CommandBars("Stop Recording").Visible = False
Application.Goto Reference:="Impression_reçus"
End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :)
Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur
les 15), c'est-à-dire la première page seulement ?
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant). C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec un petit document de 15 élèves. Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Sub Impression_reçus() ' ' Impression_reçus Macro ' Macro enregistrée le 22/08/2007 par SecondSight' Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçus"
Static a As Boolean a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème reçu Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2 Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er reçu Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A de feuille cm1 Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des autres cellules Range("C28") = Sheets("cm1").Range("A" & i + 1) Range("M29") = Sheets("cm1").Range("A" & i + 1) Range("C52") = Sheets("cm1").Range("A" & i + 2) Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False End If
Next
' Application.CommandBars("Stop Recording").Visible = False Application.Goto Reference:="Impression_reçus" End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :) Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur les 15), c'est-à-dire la première page seulement ?
Merci. :)
SecondSight
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée... Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok pour valider l'impression des 250 reçus... :)
Merci pour votre aide ! :)
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée...
Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok
pour valider l'impression des 250 reçus... :)
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée... Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok pour valider l'impression des 250 reçus... :)
dans le dernier "IF" tu remet a = False donc à la seconde boucle la question de print ("Souhaitez-vous continuer?") n'est pas demandé vue que a = False.
isabelle
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant). C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec un petit document de 15 élèves. Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Sub Impression_reçus() ' ' Impression_reçus Macro ' Macro enregistrée le 22/08/2007 par SecondSight' Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçus"
Static a As Boolean a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème reçu Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2 Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er reçu Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A de feuille cm1 Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des autres cellules Range("C28") = Sheets("cm1").Range("A" & i + 1) Range("M29") = Sheets("cm1").Range("A" & i + 1) Range("C52") = Sheets("cm1").Range("A" & i + 2) Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False End If
Next
' Application.CommandBars("Stop Recording").Visible = False Application.Goto Reference:="Impression_reçus" End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :) Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur les 15), c'est-à-dire la première page seulement ?
Merci. :)
bonjour SecondSight,
dans le dernier "IF" tu remet a = False
donc à la seconde boucle la question de print ("Souhaitez-vous continuer?") n'est pas demandé vue que a = False.
isabelle
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant).
C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec
un petit document de 15 élèves.
Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Sub Impression_reçus()
'
' Impression_reçus Macro
' Macro enregistrée le 22/08/2007 par SecondSight'
Dim Msg, Style, Title, Response
Msg = "Souhaitez-vous continuer?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Impression des reçus"
Static a As Boolean
a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de
colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu
Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu
Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème
reçu
Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2
Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er
reçu
Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A
de feuille cm1
Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des
autres cellules
Range("C28") = Sheets("cm1").Range("A" & i + 1)
Range("M29") = Sheets("cm1").Range("A" & i + 1)
Range("C52") = Sheets("cm1").Range("A" & i + 2)
Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ActiveSheet.PrintOut
a = False
End If
Next
'
Application.CommandBars("Stop Recording").Visible = False
Application.Goto Reference:="Impression_reçus"
End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :)
Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur
les 15), c'est-à-dire la première page seulement ?
dans le dernier "IF" tu remet a = False donc à la seconde boucle la question de print ("Souhaitez-vous continuer?") n'est pas demandé vue que a = False.
isabelle
Je faisais un peu de Visual Basic il y a quelques années (niveau débutant). C'est sympa de retrouver ça dans Excel.
J'ai réussi à imprimer, mais seulement une page, en faisant des essais avec un petit document de 15 élèves. Voici comment j'ai modifié le code :
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Sub Impression_reçus() ' ' Impression_reçus Macro ' Macro enregistrée le 22/08/2007 par SecondSight' Dim Msg, Style, Title, Response Msg = "Souhaitez-vous continuer?" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Impression des reçus"
Static a As Boolean a = True
For i = 2 To 15 Step 3 ' commencer à 2 car 1 est la ligne des titres de colonnes
Range("B7") = Sheets("cm1").Range("B" & i) 'nom eleve dans talon du 1er reçu Range("H9") = Sheets("cm1").Range("B" & i) 'nom eleve dans 1er reçu Range("B31") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans talon 2ème reçu Range("H33") = Sheets("cm1").Range("B" & i + 1) 'nom eleve dans reçu 2 Range("B55") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans talon 1er reçu Range("H57") = Sheets("cm1").Range("B" & i + 2) 'nom eleve dans reçu 3
Range("C4") = Sheets("cm1").Range("A" & i) 'numeros des reçus dans colonne A de feuille cm1 Range("M5") = Sheets("cm1").Range("A" & i) 'idem ici et dessous - reçus des autres cellules Range("C28") = Sheets("cm1").Range("A" & i + 1) Range("M29") = Sheets("cm1").Range("A" & i + 1) Range("C52") = Sheets("cm1").Range("A" & i + 2) Range("M53") = Sheets("cm1").Range("A" & i + 2)
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False End If
Next
' Application.CommandBars("Stop Recording").Visible = False Application.Goto Reference:="Impression_reçus" End Sub
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
J'ai imprimé dans un fichier PDF histoire d'économiser de l'encre. :) Mais pourquoi est-ce que ça ne m'imprime que les trois premiers reçus (sur les 15), c'est-à-dire la première page seulement ?
Merci. :)
isabelle
essai comme ça :
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False Else ActiveSheet.PrintOut End If
isabelle
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée... Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok pour valider l'impression des 250 reçus... :)
Merci pour votre aide ! :)
essai comme ça :
If a = True Then 'demander une seule fois
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ActiveSheet.PrintOut
a = False
Else
ActiveSheet.PrintOut
End If
isabelle
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée...
Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok
pour valider l'impression des 250 reçus... :)
If a = True Then 'demander une seule fois Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ActiveSheet.PrintOut a = False Else ActiveSheet.PrintOut End If
isabelle
Bon, j'ai compris, c'est à cause de la condition que j'ai ajoutée... Va falloir que je trouve une solution pour ne pas cliquer 80 fois sur le Ok pour valider l'impression des 250 reçus... :)
Merci pour votre aide ! :)
SecondSight
Oui, c'est ce que j'ai fait et ça fonctionne. :)
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,... :)
Je vais essayer d'améliorer un peu en fonction de mes besoins : - ajouter un bouton qui appelle la macro. - mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages. etc.
Merci beaucoup ! :)
Oui, c'est ce que j'ai fait et ça fonctionne. :)
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira
beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,...
:)
Je vais essayer d'améliorer un peu en fonction de mes besoins :
- ajouter un bouton qui appelle la macro.
- mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages.
etc.
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,... :)
Je vais essayer d'améliorer un peu en fonction de mes besoins : - ajouter un bouton qui appelle la macro. - mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages. etc.
Merci beaucoup ! :)
isabelle
bonjour SecondSight,
une autre solution serait que la macro servent uniquement à mettre les numéros de reçu,
et qu'au cellule 'nom eleve " il y ai une formule équivalent au no. de recue
=INDEX(Feuil1!B:B;EQUIV(C4;cm1!A:A;0))
isabelle
Oui, c'est ce que j'ai fait et ça fonctionne. :)
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,... :)
Je vais essayer d'améliorer un peu en fonction de mes besoins : - ajouter un bouton qui appelle la macro. - mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages. etc.
Merci beaucoup ! :)
bonjour SecondSight,
une autre solution serait que la macro servent uniquement à mettre les numéros de reçu,
et qu'au cellule 'nom eleve "
il y ai une formule équivalent au no. de recue
=INDEX(Feuil1!B:B;EQUIV(C4;cm1!A:A;0))
isabelle
Oui, c'est ce que j'ai fait et ça fonctionne. :)
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira
beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,...
:)
Je vais essayer d'améliorer un peu en fonction de mes besoins :
- ajouter un bouton qui appelle la macro.
- mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages.
etc.
une autre solution serait que la macro servent uniquement à mettre les numéros de reçu,
et qu'au cellule 'nom eleve " il y ai une formule équivalent au no. de recue
=INDEX(Feuil1!B:B;EQUIV(C4;cm1!A:A;0))
isabelle
Oui, c'est ce que j'ai fait et ça fonctionne. :)
L'impression est un peu lente (ça s'arrête et ça reprend), mais ça ira beaucoup plus vite que si j'écris à la main, les noms, numéros de reçus,... :)
Je vais essayer d'améliorer un peu en fonction de mes besoins : - ajouter un bouton qui appelle la macro. - mettre "page 1" à la place de "ActiveSheet" ou imprimer plusieurs pages. etc.