Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Bonjour Hervé, bonjour le forum,

Ton code renvoie bien 2 chez moi ! Arrête de boire Hervé ou change de PC...
 

Hervé

XLDnaute Barbatruc
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
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Bonjour le fil, bonjour le forum,

Arf Efgé ! Bravo j'ai l'air de quoi maintenant ! hein ! Bon d'accord... Comme d'hab...
 

Efgé

XLDnaute Barbatruc
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
 

Hervé

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

re

je deviens fou, pourriez vous tester le fichier joint et me dire si il vous renvoi 2 ou 4

ma santé mentale mononeuronale en dépend

merci
 

Pièces jointes

  • Test.xlsm
    27.3 KB · Affichages: 28
  • Test.xlsm
    27.3 KB · Affichages: 29
  • Test.xlsm
    27.3 KB · Affichages: 26

Efgé

XLDnaute Barbatruc
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
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA- trouver la colonne d'un item dans une plage de cellule

Bonjour le fil, bonjour le forum,

Hevé il n'y a que toi pour nous faire galérer comme ça ! Pas mieux qu'Efgé...
 

Efgé

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

Re
Ce que je ne comprend pas c'est que ça marche sur ce fichier .....
Cordialement
 

Pièces jointes

  • Hervé(3).xlsm
    21 KB · Affichages: 30

laetitia90

XLDnaute Barbatruc
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
 

Hervé

XLDnaute Barbatruc
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:

MJ13

XLDnaute Barbatruc
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
 

laetitia90

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

re tous

ben!!! pareil ??

Code:
 Dim plg As Range
 Dim c As Range
 Set plg = Range("c12:e18")
 For Each c In plg
 c = c.Column - plg.Column + 1
 Next c

salut Michel
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…