Trouver la plage utilisée par les données dans zone nommée

Résolu/Fermé
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 17 oct. 2016 à 18:34
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 18 oct. 2016 à 22:05
Bonjour,

Je cherche à trouver comment trouvé la plage utilisée dans une zone nommée de mon tableau.

La zone, D3 :L37, est nommée « zone_de_travail »

Donc, il y a des données uniquement dans la zone E10 : J29, par exemple, mais par de données dans toute les cellules.

Comment faire pour trouver cette zone ?

Utilisation : mémoriser les coordonnées de cette zone dans une variable, pour copier ou faire un zoom sur cette zone ou autre…

Exemple de mon programme : https://www.cjoint.com/c/FJrqEMtr7xt

Merci pour vos réponses

Bien cordialement

2 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
17 oct. 2016 à 21:12
Bonsoir,

essaye la formule matricielle :
=CELLULE("adresse";DECALER($A$1;MIN(SI(Zone_de_Travail<>"";LIGNE(Zone_de_Travail);9^9))-1;MIN(SI(Zone_de_Travail<>"";COLONNE(Zone_de_Travail);9^9))-1))&":"&CELLULE("adresse";DECALER($A$1;MAX(SI(Zone_de_Travail<>"";LIGNE(Zone_de_Travail);0))-1;MAX(SI(Zone_de_Travail<>"";COLONNE(Zone_de_Travail);0))-1))


cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
Modifié par mijean94 le 17/10/2016 à 21:42
Bonjour,

Merci pour cette réponse.

La formule affole ... mais si sa peu marcher.

Je place cette la formule dans mon module VBA ? sous la forme ma variable =, par exemple, emplacement_plage = Cellule ........... suite de la formule ?

Merci pour la réponse.

Bien cordialement
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
17 oct. 2016 à 22:38
Bonsoir,

Je t'ai fait cette formule justement pour t'éviter du vba!
Je ne savais pas que tu voulais du code.

Dans ce cas, un for each sur zone_travail te permettra d'identifier, pour chaque cellule non vide, les lignes x colonnes.
Tu prends les min et les max et tu as les limites de la zone que tu cherches.

Cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
17 oct. 2016 à 23:53
Re

Merci pour les réponses.

J'ai essayé la solution sans code, mais je n'arrive pas à la faire fonctionner, le résultat donne #valeur!.
je suis avec Excel 2003

je n'ai peut-être pas tous compris.
Voici le code que j'ai mis dans une cellule de mon programme :

=CELLULE("D3:L37";DECALER($D$3;MIN(SI(Zone_de_Travail<>"";LIGNE(Zone_de_Travail);9^9))-1;MIN(SI(Zone_de_Travail<>"";COLONNE(Zone_de_Travail);9^9))-1))&":"&CELLULE("D3:L37";DECALER($D$3;MAX(SI(Zone_de_Travail<>"";LIGNE(Zone_de_Travail);0))-1;MAX(SI(Zone_de_Travail<>"";COLONNE(Zone_de_Travail);0))-1))


Pour la proposition du code avec for each sur zone_travail, je vais essayé de comprendre comment ça marche pour tenter de l'appliquer.

Merci pour la réponse
Bien cordialement
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856 > mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021
18 oct. 2016 à 00:10
Re,

C'est une formule matricielle.
Elle se valide par CTRL+MAJ+ENTER

Cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020
Modifié par mijean94 le 18/10/2016 à 11:36
Bonjour,

Merci pour l'info sur la validation de la formule matricielle.
Effectivement après la validation ça marche très bien.

Question :

Peut-on mélanger formule matricielle et code VBA pour récupérer le résultat et l’utiliser dans un code ou est-il préférable de faire la fonction en code VBA ?

Merci pour la réponse.

Bien cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021
18 oct. 2016 à 22:05
bonjour,

code et formule matricielle fonctionne très bien pour mon application.

Merci encore
0