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

Inserer nom de colonne dans mes codes

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

Geraldine

XLDnaute Occasionnel
Re-bonjour le forum,

Dans excel nous avons les noms de colonnes A, B, C, etc ..
Je selectionne la colonne A et j'insere un nom par exemple "CMARQUE"

et je veux utiliser ce nom de colonne dans mes codes soit au lieu de

ComboBoxM.List = .Range("A10:A" & .Range("A65536").End(xlUp).Row).Value
[A10] = *********

je voudrais

ComboBoxM.List = .Range("Cmarque10:Cmarque" & .Range("Cmarque65536").End(xlUp).Row).Value
[Cmarque10] = *********

Mais ça fonctionne pas comme ce dernier,

Merci, géraldine
 
Dernière édition:
Re : Inserer nom de colonne dans mes codes

bonjour Geraldine

A tester quelque chose d'approchant avec:

Code:
Sub test()
 Cmarque = lettre(Range("cmarque").Column)
 ComboBoxM.List = Range(Cmarque & 10 & ":" & Cmarque & Range(Cmarque & 65536).End(xlUp).Row)
End Sub
Function lettre(col As Integer)
   lettre = Left(Cells(1, col).Address(0, 0), Len(Cells(1, col).Address(0, 0)) - 1)
End Function
 
Re : Inserer nom de colonne dans mes codes

bonjour pierrejean,

si mon integration du code est bonne, ça ne fonctionne pas

Dans Module1 :
Function lettre(col As Integer)
lettre = Left(Cells(1, col).Address(0, 0), Len(Cells(1, col).Address(0, 0)) - 1)
End Function


Dans Userform1
Private Sub UserForm_Initialize()
With Sheets("ARTICLE")
Cmarque = lettre(Range("Cmarque").Column)
ComboBoxM.List = Range(Cmarque & 10 & ":" & Cmarque & Range(Cmarque & 65536).End(xlUp).Row).Value
End With

.....

@
 
Re : Inserer nom de colonne dans mes codes

Bonjour Géraldine,

Etant donné que tu es dans une structure de regroupement With, ne te manquerait il pas les points devant chacun de tes Range?

Dans Userform1
Private Sub UserForm_Initialize()
With Sheets("ARTICLE")
Cmarque = lettre(.Range("Cmarque").Column)
ComboBoxM.List = .Range(Cmarque & 10 & ":" & Cmarque & .Range(Cmarque & 65536).End(xlUp).Row).Value
End With
 
Re : Inserer nom de colonne dans mes codes

re

Geraldine

il faut copier correctement

il n'y a pas de .Value en fin de ligne

ComboBoxM.List = .Range(Cmarque & 10 & ":" & Cmarque & .Range(Cmarque & 65536).End(xlUp).Row)

et merci a cops71 pour les points
 
Re : Inserer nom de colonne dans mes codes

re

encore une fois

bien tout regarder

le nom de la colonne est cmarque (sans C majuscule)
Quant a Cmarque c'est la lettre correspondante

en general Xcel n'aime pas trop des noms identiques pour des notions differentes
 
Re : Inserer nom de colonne dans mes codes

re pierrejean,

je ne vais pas vous faire perdre votre après midi avec mes erreurs de lecture de vos codes, je suis désolé mais ça ne marche pas, je fait certainnement une erreur mais je ne voit pas ou.



merci et bonne après midi
Géraldine
 
Re : Inserer nom de colonne dans mes codes

je ne m'enerve pas pierrejean, et je sais très bien que vous savez ce que vous postez,

j'ai essayé à nouveau dans un document essai et ça marche,

je suis désolé,

la debutante et l'etourdie géraldine vous remercie

par contre je voudrais rajouté, pour une formule type

[a10] = ....... je peut mettre

Private Sub CommandButton1_Click() ' valider
Prix = lettre(.Range("prix").Column)
[Prix & 2] = UserForm1.TextBox1 & ""
Quantite = lettre(.Range("quantite").Column)
[Quantite & 3] = UserForm1.TextBox2 & ""
End Sub
 
Dernière édition:
Re : Inserer nom de colonne dans mes codes

Re geraldine,

Et pourquoi pas utilisé ce genre de code:
Code:
Function lettre(col As Integer)
lettre = Left(Cells(1, col).Address(0, 0), Len(Cells(1, col).Address(0, 0)) - 1)
End Function
Private Sub UserForm_Initialize()
Dim MaColonne As String
Dim Cellule As Variant
    Sheets(1).Select
    MaColonne = lettre(Range("CMARQUE").Column)
    For Each Cellule In Range(MaColonne & 10 & ":" & MaColonne & Range(MaColonne & 65536).End(xlUp).Row)
        ComboBoxM.AddItem Cellule.Value
    Next
End Sub

Pour moi, travaillant sur Excel 2003, ça marche...

Bon courage
 
Re : Inserer nom de colonne dans mes codes

Cmarque remplace en fait la lettre de la colonne dont le nom est cmarque

la 10eme cellule pourra donc etre nommée

Range(Cmarque & 10)

Je n'utilise jamais la notation [a10] , je ne peux donc rien affirmer

Teste

[A10]=[Cmarque & 10]
 
Re : Inserer nom de colonne dans mes codes

ça me complique de plus en plus les choses, si j'essaye de faire cette manip, c'est que si par exemple en
colonne A = Designation / colonne B = couleur / colonne c = prix

tous les codes des userform ont ces reperes pour inserer les valeur dans les colonnes
[A1] designation / [B1] couleur / [C1] prix

si dans le temps on modifie la presentation en inserant une colonne en A
par exemple [A1] REF / [B1] designation / [C1] couleur / [D1] prix

[A1] n'est plus designation, mais reference
je doit modifier entièrement tous mes codes .......😡


En ésperant arriver à mes fins avec vos conseils, merci à tous les deux

Cordialement, Géraldine
 
Re : Inserer nom de colonne dans mes codes

Code:
Private Sub CommandButton1_Click() ' valider
Prix = lettre(.Range("prix").Column)
[Prix & 2] = UserForm1.TextBox1 & ""
Quantite = lettre(.Range("quantite").Column)
[Quantite & 3] = UserForm1.TextBox2 & ""
End Sub

me parait correct

pour modifier tout ton code

utilise dans Visual basic editor

la fonction

edition > remplacer

avec par exemple

rechercher A
remplacer par Prix &

Et bravo pour l'idée de prevoir l'insertion d'une colonne
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…