VBA- trouver la colonne d'un item dans une plage de cellule

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

Hervé

XLDnaute Barbatruc
bonjour

j'ai un trou de mémoire, je ne sais plus comment trouver la colonne d'un item dans une plage.

le code ci dessous me renvoi 4, soit 4 colonnes à partir du bord de la feuille, je voudrais qu'il me renvoi 2, soit deux colonnes du bord de la plage

Code:
Dim plg As Range

Set plg = Range("c12:e18")

Range("d15").Select

MsgBox plg(Selection).Column

merci pour votre aide à venir

a plus
 
Re : VBA- trouver la colonne d'un item dans une plage de cellule

salut robert et efgé 😉

promis robert, j'ai encore rien bu 🙂

mon code me renvoi bien 4 dans mon fichier, je viens de comprendre comment mais pas pourquoi

au dessus de ma plage, j'ai un tableau en A1:R7. si je supprime ce tableau, le code me renvoi bien 2, sinon il me renvoi 4

pas la moindre idée pourquoi

bizarre

merci pour l'aide

a plus
 
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Re
Salut Robert
En fait je ne pense pas que ma proposition change grand chose au problème d'Hervé, chez moi aussi son code renvoi bien 2 😀

Cordialement
 
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Re
C'est pas beau, mais l'idée est là. Il faut calculer par rapport à la prmière colonne de la plage :
VB:
ActiveCell.Column - plg.Columns(1).Column + 1

Je suis certain qu'il y a beaucoup plus mieux bien 😀

Cordialement
 
Re : VBA- trouver la colonne d'un item dans une plage de cellule

bonjour tous🙂🙂🙂
perso j'ecrirais comme cela

Code:
 MsgBox ActiveCell.Column - plg.Column + 1

donc meme si plage demarre en column 1 marche???

Code:
Dim plg As Range
 Set plg = Range("a12:e18")
 Range("a15").Select
 MsgBox ActiveCell.Column - plg.Column + 1
 
Re : VBA- trouver la colonne d'un item dans une plage de cellule

re, bonjour laetita

ok pour vos solutions, merci 🙂

je profite de vos compétences

pourriez vous m'indiquer la syntaxe à utiliser pour que le code ci dessous me renvoi le numéro de colonne dans la plage, soit 1,2 ou 3:

Code:
Dim plg As Range
Dim c As Range

Set plg = Range("c12:e18")

For Each c In plg
c = plg(c).Column
Next c

je vous en remercie par avance

a plus
 
Dernière édition:
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Bonjour à tous


Je l'aurais peut-être écrit ainsi:

Code:
Sub a()
'MsgBox ActiveCell.Column
'MsgBox Range("zone").Columns.Count
'MsgBox Range("zone").Columns(1).Column
MsgBox ActiveCell.Column - (Range("zone").Columns(1).Column) + 1
End Sub
 
- 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

Discussions similaires

Réponses
5
Affichages
241
Retour