Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro d’impression

4 réponses
Avatar
Jean-Paul V
Bonjour à tous

J’ai cette macro d’impression qui fonctionne :
Sub Impression()
Dim Rg As Range
If Not Intersect(ActiveCell, Range("XF101")) Is Nothing Then
Set Rg = Range("XF101")
ElseIf Not Intersect(ActiveCell, Range("XF102")) Is Nothing Then
Set Rg = Range("XF102")
...
Ect
ActiveSheet.PageSetup.PrintArea = [Rg].Address

Je voudrais la modifier en lui donnant un caractère plus général car mes
différents champs d’impression sont très nombreux or je peux lister tous mes
champs d’impression en faisant Insertion Nom Coller Liste puis donner à ce
champ ainsi listé le Nom ‘’IMPRESSIONS’’ c’est à dire un champ à 2 colonnes
avec première colonne mes noms de champ et deuxième colonne les adresses des
champs

Comment définir d’une façon plus générale mon champ d’impression qui dépend
de la cellule active, par exemple si la cellule active a pour adresse
Procédure!$B$368, sachant que le champ ‘’XF102’’ est défini par
=Procédure!$A$366:$E$754
C’est le champ XF102 qui sera imprimé.

@+ j’espère

4 réponses

Avatar
Daniel.C
Bonsoir.
Ma liste de noms se trouvant en colonne A sur Feuil2 :

Sub test()
Dim c As Range
With Sheets("Feuil2")
For Each c In .Range("A1", .Range("A65536").End(xlUp))
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Cordialement.
Daniel
"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

J'ai cette macro d'impression qui fonctionne :
Sub Impression()
Dim Rg As Range
If Not Intersect(ActiveCell, Range("XF101")) Is Nothing Then
Set Rg = Range("XF101")
ElseIf Not Intersect(ActiveCell, Range("XF102")) Is Nothing Then
Set Rg = Range("XF102")
...
Ect
ActiveSheet.PageSetup.PrintArea = [Rg].Address

Je voudrais la modifier en lui donnant un caractère plus général car mes
différents champs d'impression sont très nombreux or je peux lister tous
mes
champs d'impression en faisant Insertion Nom Coller Liste puis donner à ce
champ ainsi listé le Nom ''IMPRESSIONS'' c'est à dire un champ à 2
colonnes
avec première colonne mes noms de champ et deuxième colonne les adresses
des
champs

Comment définir d'une façon plus générale mon champ d'impression qui
dépend
de la cellule active, par exemple si la cellule active a pour adresse
Procédure!$B$368, sachant que le champ ''XF102'' est défini par
=Procédure!$A$366:$E$754
C'est le champ XF102 qui sera imprimé.

@+ j'espère



Avatar
Jean-Paul V
Bonjour Daniel

Ta réponse ne répond pas à ma demande, car mon champ IMPRESSIONS est dans
une la Feuille 3 et ma cellule active est dans la Feuille procédure, il faut
donc exploiter les renseignements d'adresses de la colonne 2 de IMPRESSIONS
et c'est ça que je ne sais pas faire


Bonsoir.
Ma liste de noms se trouvant en colonne A sur Feuil2 :

Sub test()
Dim c As Range
With Sheets("Feuil2")
For Each c In .Range("A1", .Range("A65536").End(xlUp))
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Cordialement.
Daniel
"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

J'ai cette macro d'impression qui fonctionne :
Sub Impression()
Dim Rg As Range
If Not Intersect(ActiveCell, Range("XF101")) Is Nothing Then
Set Rg = Range("XF101")
ElseIf Not Intersect(ActiveCell, Range("XF102")) Is Nothing Then
Set Rg = Range("XF102")
...
Ect
ActiveSheet.PageSetup.PrintArea = [Rg].Address

Je voudrais la modifier en lui donnant un caractère plus général car mes
différents champs d'impression sont très nombreux or je peux lister tous
mes
champs d'impression en faisant Insertion Nom Coller Liste puis donner à ce
champ ainsi listé le Nom ''IMPRESSIONS'' c'est à dire un champ à 2
colonnes
avec première colonne mes noms de champ et deuxième colonne les adresses
des
champs

Comment définir d'une façon plus générale mon champ d'impression qui
dépend
de la cellule active, par exemple si la cellule active a pour adresse
Procédure!$B$368, sachant que le champ ''XF102'' est défini par
=Procédure!$A$366:$E$754
C'est le champ XF102 qui sera imprimé.

@+ j'espère








Avatar
Daniel.C
Regarde comme ça :

Sub test()
Dim c As Range, Noms As Range
With Sheets("Feuil3")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 12) = "=procedures!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Daniel
"Jean-Paul V" a écrit dans le message
de news:
Bonjour Daniel

Ta réponse ne répond pas à ma demande, car mon champ IMPRESSIONS est dans
une la Feuille 3 et ma cellule active est dans la Feuille procédure, il
faut
donc exploiter les renseignements d'adresses de la colonne 2 de
IMPRESSIONS
et c'est ça que je ne sais pas faire


Bonsoir.
Ma liste de noms se trouvant en colonne A sur Feuil2 :

Sub test()
Dim c As Range
With Sheets("Feuil2")
For Each c In .Range("A1", .Range("A65536").End(xlUp))
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Cordialement.
Daniel
"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

J'ai cette macro d'impression qui fonctionne :
Sub Impression()
Dim Rg As Range
If Not Intersect(ActiveCell, Range("XF101")) Is Nothing Then
Set Rg = Range("XF101")
ElseIf Not Intersect(ActiveCell, Range("XF102")) Is Nothing Then
Set Rg = Range("XF102")
...
Ect
ActiveSheet.PageSetup.PrintArea = [Rg].Address

Je voudrais la modifier en lui donnant un caractère plus général car
mes
différents champs d'impression sont très nombreux or je peux lister
tous
mes
champs d'impression en faisant Insertion Nom Coller Liste puis donner à
ce
champ ainsi listé le Nom ''IMPRESSIONS'' c'est à dire un champ à 2
colonnes
avec première colonne mes noms de champ et deuxième colonne les
adresses
des
champs

Comment définir d'une façon plus générale mon champ d'impression qui
dépend
de la cellule active, par exemple si la cellule active a pour adresse
Procédure!$B$368, sachant que le champ ''XF102'' est défini par
=Procédure!$A$366:$E$754
C'est le champ XF102 qui sera imprimé.

@+ j'espère










Avatar
Jean-Paul V
Bonjour Daniel

C'est formidable çà marche ! je vais gagner un temps fou.

Merci à +


Regarde comme ça :

Sub test()
Dim c As Range, Noms As Range
With Sheets("Feuil3")
Set Noms = .[IMPRESSIONS].Resize(, 1)
For Each c In Noms
If Left(c.Offset(, 1), 12) = "=procedures!" Then
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Daniel
"Jean-Paul V" a écrit dans le message
de news:
Bonjour Daniel

Ta réponse ne répond pas à ma demande, car mon champ IMPRESSIONS est dans
une la Feuille 3 et ma cellule active est dans la Feuille procédure, il
faut
donc exploiter les renseignements d'adresses de la colonne 2 de
IMPRESSIONS
et c'est ça que je ne sais pas faire


Bonsoir.
Ma liste de noms se trouvant en colonne A sur Feuil2 :

Sub test()
Dim c As Range
With Sheets("Feuil2")
For Each c In .Range("A1", .Range("A65536").End(xlUp))
If Not Intersect(Range(c.Value), ActiveCell) Is Nothing Then
Set Rg = Range(c.Value)
Exit For
End If
Next c
ActiveSheet.PageSetup.PrintArea = [Rg].Address
End With
End Sub

Cordialement.
Daniel
"Jean-Paul V" a écrit dans le
message
de news:
Bonjour à tous

J'ai cette macro d'impression qui fonctionne :
Sub Impression()
Dim Rg As Range
If Not Intersect(ActiveCell, Range("XF101")) Is Nothing Then
Set Rg = Range("XF101")
ElseIf Not Intersect(ActiveCell, Range("XF102")) Is Nothing Then
Set Rg = Range("XF102")
...
Ect
ActiveSheet.PageSetup.PrintArea = [Rg].Address

Je voudrais la modifier en lui donnant un caractère plus général car
mes
différents champs d'impression sont très nombreux or je peux lister
tous
mes
champs d'impression en faisant Insertion Nom Coller Liste puis donner à
ce
champ ainsi listé le Nom ''IMPRESSIONS'' c'est à dire un champ à 2
colonnes
avec première colonne mes noms de champ et deuxième colonne les
adresses
des
champs

Comment définir d'une façon plus générale mon champ d'impression qui
dépend
de la cellule active, par exemple si la cellule active a pour adresse
Procédure!$B$368, sachant que le champ ''XF102'' est défini par
=Procédure!$A$366:$E$754
C'est le champ XF102 qui sera imprimé.

@+ j'espère