Récupération adresse pour définition plage de cellules

Mike

XLDnaute Nouveau
Bonjour,

J'ai dans mon fichier une cellule qui contient une formule de type :

=TEXT(TRIM("'Synthèse par pays'!"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)-5;1;1;;)&":"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)+38;16;1;;));"@")

Celle-ci me donne donc l'adresse d'un range à imprimer en fonction du pays sélectionné :

'Synthèse par pays'!$A$89:$P$132

J'aimerais via une macro, nommé la plage définie ci-dessus et utilisé cette plage comme zone à imprimer.

Quelqu'un peut-il m'aider ???
Merci d'avance.
 
Dernière édition:

Gael

XLDnaute Barbatruc
Re : Récupération adresse pour définition plage de cellules

Bonjour Mike,

Essaye le code suivant:

Code:
    ActiveWorkbook.Names.Add Name:="Plage", RefersToR1C1:= _
        "='Synthèse par pays'!R89C1:R132C16"
    ActiveWorkbook.Names.Add Name:="Print_Area", RefersToR1C1:="=Plage"

@+

Gael
 

Mike

XLDnaute Nouveau
Re : Récupération adresse pour définition plage de cellules

Bonjour Gael,

Merci pour la réponse mais j'aimerais intégrer la formule TEXT(TRIM("'Synthèse par pays'!"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)-5;1;1;&":"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)+38;16;1;);"@") car celle-ci est dynamique et l'adresse varie donc en fonction du pays sélectionné, et avoir en quelque sorte :

ActiveWorkbook.Names.Add Name:="Plage", RefersToR1C1:= _
"=TEXT(TRIM("'Synthèse par pays'!"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)-5;1;1;&":"&ADDRESS(MATCH(B3;'Synthèse par pays'!$D$1:$D$1500;0)+38;16;1;);"@") "
ActiveWorkbook.Names.Add Name:="Print_Area", RefersToR1C1:="=Plage"

Mais que j'essaie ce code, celà ne marche pas...
Merci d'avance.
 

Gael

XLDnaute Barbatruc
Re : Récupération adresse pour définition plage de cellules

Bonsoir Mike,

Essaye alors un truc du style:

Code:
Sub test()
Dim cel As Range, pays As String
pays = Range("B3")
With ActiveSheet.Range("D1:D1500")
Set cel = .Find(pays, LookIn:=xlValues, lookat:=xlWhole)
End With
If Not cel Is Nothing Then
ActiveWorkbook.Names.Add Name:="Plage", RefersToR1C1:= _
        "='Synthèse par pays'!R" & cel.Row - 5 & "C" & cel.Column & ":R" & cel.Row + 38 & "C" & cel.Column + 16
End If
End Sub

Sous toutes réserves, je n'ai pas pu tester sans exemple plus précis.

@+

Gael
 

Mike

XLDnaute Nouveau
Re : Récupération adresse pour définition plage de cellules

Bonjour,

Y a-t-il une adresse e-mail à laquelle je puisse envoyer le fichier d'exemple car celà ne marche pas et je n'ai pas les autorités pour joindre un fichier au forum.

Merci d'avance.
 

Mike

XLDnaute Nouveau
Re : Récupération adresse pour définition plage de cellules

Bonjour Gael,

Désolé me je n'ai pas l'autorisation de sortir un fichier excel via internet. La seule manière est de t'envoyer le fichier .. Est-ce possible ??

Merci d'avance.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Récupération adresse pour définition plage de cellules

Bonjour Mike, Gaël,

S'il n'est pas trop lourd en XLS ou en Zip, je pourrai paut-être le déposer à ta place.

Je t'envoie un message privé.

A te lire, si tu le souhaite.

Jean-Pierre
 

Gael

XLDnaute Barbatruc
Re : Récupération adresse pour définition plage de cellules

Bonsoir à tous et merci Jean-Pierre pour le transfert,

Ci-joint ton exemple modifié. Essaye la procédure "Test".

@+

Gael
 

Pièces jointes

  • TEST_Mike.zip
    95.1 KB · Affichages: 85

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22