Comment integrer le nom d'une cellule dans une macro

Résolu
Bonjour
J'ai réalisé avec l'aide du forum une macro pour l'impression simultanée d'une facture client et d'une copie pour comptabilité qui est ceci :
Sub imprimer_deux_pages()

ActiveSheet.PageSetup.PrintArea = "$B$1:$K$44" ' Definition de l'impression

With ActiveSheet.PageSetup 'Page 1
.LeftHeader = "Facture Client" ' Entete de page
End With
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

With ActiveSheet.PageSetup 'Page 2
.LeftHeader = "Copie  Comptabilité"
End With
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"

End Sub


Mon souci maintenant est le suivant :
La feuille de calcul peut être soit un devis, soit une facture choix possible par une liste et données entrées par l'onglet Données et Validation des données. Le choix se fait sur la cellule C1 de la feuille de calcul. Comment puis je ajouter automatiquement ce choix dans l'impression de mes deux feuilles afin que cela donne quelque chose comme ceci :
Première feuille "Devis client", deuxième feuille "Copie Devis Comptabilité ou l'autre choix :
Première feuille "Facture Client, deuxième feuille 'Copie Facture comptabilité.

5 réponses

  1. Bonjour

    C1 contient soit "Devis" soit "Facture"

    Pour la page 1
    .LeftHeader = Activesheet.Range("C1") & " Client"

    Pour la page 2
    .LeftHeader = "Copie " & Activesheet.Range("C1") & " Comptabilité"

    Cordialement
    0
    1. Bonjour

      Essayer ceci :

      Sub imprimer_deux_pages()
      
      ActiveSheet.PageSetup.PrintArea = "$B$1:$K$44" ' Definition de l'impression
      
      With ActiveSheet.PageSetup 'Page 1
      .LeftHeader = Cells(1, 3).Value & " Client" ' Entete de page
      End With
      ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
      
      With ActiveSheet.PageSetup 'Page 2
      .LeftHeader = "Copie " & Cells(1, 3).Value &" Comptabilité"
      End With
      ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
      
      End Sub 


      Mais cette macro risque de crée des erreur.

      Pour ne pas que ça fasse d'erreur il me faudrait le nom de la feuille ou ce trouve la cellule C1

      *Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utils"
      0
      1. Bonjour,

        Si tu veux rentrer un texte en dur dans la cellule A1, tu tapes :
        range("A1") = "MON TEXTE"
        ou [A1] = "MON TEXTE"
        ou Cells(1,1) = "MON TEXTE"

        Si tu veux utiliser un texte saisie en B1 pour l'intégré en cellule A1 tu tapes :
        range("A1") = range("B1")
        ou [A1] = [B1]
        ou cells(1,1) = cells(1,2)
        0
        1. grand merci à ccm81
          Cela fonctionne super pour le dépannage rapide
          Et encore merci
          et merci aux autres spécialistes de la macro. Toujours aussi super ce forum
          0
          1. De rien,

            peux tu mettre le sujet à Résolu (en haut à droite de ton premier message)

            Bonne soirée
            0