Comment integrer le nom d'une cellule dans une macro

Résolu/Fermé
robbybasch - Modifié par pijaku le 25/07/2014 à 10:00
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 24 juil. 2014 à 21:39
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

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
24 juil. 2014 à 11:03
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
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
Modifié par skk201 le 24/07/2014 à 11:06
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
WeaponEDGE Messages postés 113 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 novembre 2014 9
24 juil. 2014 à 11:05
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
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
Modifié par robbybasch le 24/07/2014 à 21:29
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
24 juil. 2014 à 21:39
De rien,

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

Bonne soirée
0