Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel VB : Macro pour définir une zone de texte selon une variable n

  • Initiateur de la discussion Initiateur de la discussion Fisio
  • Date de début Date de début

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 !

F

Fisio

Guest
Bonjour,

Voilà le problème : mon tableur se compose d'une mise en page redondante de la cellule R1C1 à R2668C12 soit 92*29 lignes.

Selon le nombre de mise en page (n) renseigné je souhaite établir une macro qui fait une mise en page automatique.

Par exemple si n=3 : la mise en page doit permettre d'imprimer de la cellule R1C1 à Rn*29C12 soit R1C1 à R87C12

Cordialement.
 
Re : Excel VB : Macro pour définir une zone de texte selon une variable n

Bonjour Fisio,

Je te propose le code suivant qui selectionne la plage de ton choix selon la valeur n :

Code:
Sub DefinirPlage()
Dim MaPlage As Range
Dim n&

n = 3 ' ou par exemple n=Cells(1,1).


Set MaPlage = Range(Cells(1, 1), Cells(n * 29, 12))
MaPlage.Select
'------reste de la macro


'---- il est préférable de vider la plage en fin de macro
Set MaPlage = Nothing
End Sub

Précaution : n doit être un entier positif compris entre 1 et 2259, c'est à dire acceptable par ton fichier excel (65536 lignes sous les versions antérieures à Excel 2007)

Bonne journée
Kotov
 
Re : Excel VB : Macro pour définir une zone de texte selon une variable n

Pour définir la plage ok
Par contre ma macro se poursuit par :

ActiveSheet.PageSetup.PrintArea =MaPlage

Mais rien...
 
Re : Excel VB : Macro pour définir une zone de texte selon une variable n

Re,

Tu as omis ".Address" qui délimite ta zone d'impression.

Code:
Sub DefinirPlage()
Dim MaPlage As Range
Dim n&

n = 3 ' ou par exemple n=Cells(1,1).


Set MaPlage = Range(Cells(1, 1), Cells(n * 29, 12))
MaPlage.Select
'------reste de la macro
ActiveSheet.PageSetup.PrintArea = MaPlage[color=blue].Address[/color]

'---- il est préférable de vider la plage en fin de macro
Set MaPlage = Nothing
End Sub

A +
Kotov
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

T
Réponses
2
Affichages
1 K
T
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…