Réaliser une recherche dans une zone définie par une cell fusionnée

  • Initiateur de la discussion Initiateur de la discussion Tome17
  • 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 !

T

Tome17

Guest
Bonjour,

UPDATE

Mon code VBA me permet d'après divers choix d'un utilisateur (sur la page sommaire), de me déplacer sur une page (en cliquant sur la 3eme critère), et sur une cellule désirée (CellAdr, suivant le choix de l'utilisateur la position de celle-ci change, ligne et colonne) par une fonction "Find".

Code:
Set CellAdr = Worksheets(TxtCategorie).Cells.Find(Cible, , xlValues, xlWhole, , , False)

De là, j'aimerai me positionner sur la cellule "X" se trouvant sur la même ligne que "CellAdr" mais en colonne "F".

Je pensai pouvoir modifier la valeur de la colonne de "CellAdr" de cette façon :
Code:
Set X = CellAdr( ,"F")

Mais ça ne me renvoie pas à tout les coups en colonne "F".

Merci d'avance,
Cordialement,

Tome
 

Pièces jointes

Dernière modification par un modérateur:
Re : Obtenir l'intersection d'une cellule(ligne) et d'une colonne

Bonjour,
Code:
 Worksheets(TxtCategorie).Range("F" & CellAdr.Row)

Ou pour correspondre exactement à ton titre de post:

Code:
Intersect(Range("F:F"),CellAdr.EntireRow).Select

Ou encore

Code:
Intersect(Columns("F"),Rows(CellAdr.Row)).Select
Soit l'intersection de la colonne F et de la ligne de CellAdr
A+
 
Dernière modification par un modérateur:
Re : Obtenir l'intersection d'une cellule(ligne) et d'une colonne

Re,

Dans le même style, j'en ai une autre, mais après le choix de l'utilisateur cela m'ammène à un ensemble de cellules fusionnées, par exemple de A1:A2 et A1:B1 (carré de 2 par 2).

Comment puis-je réaliser une fonction "FIND" dont la hauteur de ma zone de recherche est définie par la hauteur de ma cellule préselectionnée (cad une zone de hauteur A1:B1) mais sur une longueur horizontale indéfinie (cad jusqu'à A50:B50).

Set X2 = Worksheets(TxtCategorie).Cells.Find(Cible2,[hauteur en ligne de CellAdr] , xlValues, xlWhole, , , False)

Quelqu'un pourrait-il m'aider, j'imagine qu'en utilisant "Range" cela doit-être possible mais je n'y arrive pas.

Merci
 
Dernière modification par un modérateur:
Re : Obtenir l'intersection d'une cellule(ligne) et d'une colonne

Re,

Si tu as lu la charte du forum, il ne t'aura pas échappé que les expression aimables de convivialité telles que Re, merci, sont indispensables à chaque post.

Il n'y a pas de paramètre de la méthode Find permettant de faire ce que tu demandes(si j'ai bien compris). Par contre tu peux restreindre la plage de recherche en remplaçant .Cells.Find par .Range("A1😛50").Find (ou tout autre plage).

A+
 
Re : Obtenir l'intersection d'une cellule(ligne) et d'une colonne

Re,

J'aimerai faire quelque chose dans ce style, mais le code n'a pas l'air de fonctionner. Il faudrait que les lignes de la zone "Range" soient celles de la cellule "CellAdr" avec une largeur infinie.
Code:
Set C = Worksheets(TxtCategorie).Range(Rows(CellAdr.Row)).Find(TxtType, , xlValues, xlWhole, , , False)

J'ai essayé avec tout les styles de la 1ière réponse, celle qui conviendrait serait "CellAdr.EntireRow" mais comment l'écrire pour qu'il en tienne compte...

Je joints un excel afin d'avoir une meilleur compréhension de mes attentes.

Merci d'avance,
cordialement,

Tome
 

Pièces jointes

Dernière modification par un modérateur:
Re : Réaliser une recherche dans une zone définie par une cell fusionnée

Re,

C'est ce qu'on appelle se compliquer la vie. VBA et les cellules fusionnées ne font pas bon ménage. Je te conseille de présenter tes feuilles produits (Ecrou etc...) sous forme de liste. Ce qui rendra ton code plus clair et facile.

Tu peux élargir tes colonnes au besoin et ou centrer horizontalement sur plusieur colonnes pour les titres.

Mieux vaut une information qui se répète mais structurée clairement plutôt qu'une "jolie" apparence

En tout cas, personnellement je ne m'attacherai pas à t' aider créer une usine à gaz pour t'en sortir.

A+
 
Re : Réaliser une recherche dans une zone définie par une cell fusionnée

Re,

Merci beaucoup pour tout ton aide apporté.
Je vais suivre ton conseil en simplifiant la structure de mes pages, afin d'amener à la recherche d'un critère unique et non une suite de critères.

Cordialement,
Tome
 
Re : Réaliser une recherche dans une zone définie par une cell fusionnée

Bonjour,

Le problème n'est pas dans une suite de critère ou de critère unique, mais la multiplicités des cellules fusionnées qui ne font pas bon ménage avec VBA.

Présente tes produits sous forme de Liste (au sens excel) avec une ligne d'entête contenant les etiquettes de données et les données en lignes dessous. Tu pourras alors rechercher, filtrer, extraire, avec le nombre de critères que tu souhaites.

A+
 
- 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

Retour