[RESOLU] impression enveloppes en cochant une croix

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

letroubadour

XLDnaute Occasionnel
bonjour à tous

j'ai ce fichier qui permet à certaines dates d'envoyer des courriers, tout fonctionne bien.

je veux, dans le module 7 imprimer les adresses de la feuille 3 en fonction des cases cochées dans la colonne M de la feuille 1

j'ai repris le module 2 pour l'adapter au module 7 mais au lieu de m'imprimer 2 enveloppes (2 cases cochées) il me les imprime toutes. j'ai essayé pas mal de truc mais il m'en imprime qu'une seule et elle ne fait pas partie de la sélection.

autrement si c'est pas la bonne adresse imprimée l'adresse est bien formatée et correctement imprimée

je vous remercie

le troubadour
 

Pièces jointes

Dernière édition:
Re : impression enveloppes en cochant une croix

Bonjour,

Des règles fondamentales doivent être respectées lors de l'écriture du code dans des modules standards :
1) Il faut éviter de nommer identiquement plusieurs procédures publiques : Excel se trouve devant une ambigüité de choix et risque de ne pas exécuter celle qu'on voudrait.
2) Pour désigner une plage de cellule, il faut préciser systématiquement la feuille à la elle appartient (alors que ce n'est pas obligatoire dans le module de la feuille).

1) Dans tous les modules, déclarer "privée" la procédure d'export vers word :
Code:
Private Sub export_données_dans_signet_word(ligne)

2) Préciser le nom des feuilles, dans le module 7 :
Code:
With Worksheets("Feuil1")
  nblignes = .Cells(Rows.Count, "G").End(xlUp).Row
  For ligne = 3 To nblignes
    If .Cells(ligne, "M") = True Then
      export_données_dans_signet_word (ligne)
    End If
  Next ligne
End With
et
Code:
With Sheets("Feuil3")
    WordDoc.Bookmarks("adresse").Range.Text = .Cells(ligne, 5)
End With

Faire de même dans les autres modules.
 
Re : impression enveloppes en cochant une croix

bonjour Patrice

merci pour ta réponse

je viens de modifier mon code et ça semble fonctionner correctement

je vais modifier de ce pas mes autres modules

peux tu m'expliquer brièvement la ligne suivante ?

PHP:
 nblignes = .Cells(Rows.Count, "G").End(xlUp).Row

encore merci

le troubadour
 
Re : impression enveloppes en cochant une croix

Re,

Explication :
Code:
With Worksheets("Feuil1")
  nblignes = .Cells(Rows.Count, "G").End(xlUp).Row
  '....

End With
est l'équivalent de
Code:
nblignes = Worksheets("Feuil1").Cells(Rows.Count, "G").End(xlUp).Row

C'est à dire que, dans la feuille 1 [Worksheets("Feuil1")], à partir de la cellule [.Cells()] situé sur la dernière ligne (Rows.count) de la colonne "G", Excel cherche, en allant vers le haut [.End(xlUp)], la première cellule qui n'est pas vide et affecte (=) le numéro de ligne de cette cellule (.Row) à la variable nblignes.

C'est l’équivalent, en partant de la dernière cellule, de l'action au clavier : Ctrl + Flèche vers le haut
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour