XL 2013 Recherche de la lettre de la colonne d'une cellule

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 !

Ananas94

XLDnaute Junior
Bonjour,

J'ai 2 tableaux : un avec des données et un autre avec des moyennes de ces données. Tout est trié par année. J'ai créé une macro qui modifie les tableaux pour un changement d'année ; donc qui ajoute une colonne à chaque tableau. J'aimerais aussi que les formules soient conservées, et correspondantes à la bonne colonne, et c'est là que je bloque. Il me faudrait la lettre de la colonne de la nouvelle année. J'ai codé quelque chose mais j'obtiens un message d'erreur :"Variable object ou variable de bloc with non définie". Je ne comprends pas pourquoi j'ai ce message, car j'ai bien défini toutes mes variables...

VB:
    Dim Col_Cible%, Lettre_Col_Cible As String, Ligne As Range
    
    Col_Cible = NbCol_T_Moy + 3
    Ligne = LO_Moy.Range(2, NbCol_T_Moy + 1)
    
    Ligne.Find(What:=Col_Cible, LookAt:=xlPart).Activate
    Lettre_Col_Cible = Split(Selection.Address, "$")(1)

Quelqu'un aurait une idée ?
Vous trouverez en pièce jointe un classeur exemple.
Merci à vous 🙂
 

Pièces jointes

Solution
Bonsoir à tous
essaye
VB:
Sub chercher_lettre_col()
      Dim Nb As Byte, Lettre_Col_Cible$
      Nb = Range("Tab_Moy").ListObject.ListColumns.Count + Range("Tab_Moy").Column - 1
    Lettre_Col_Cible = Split(Columns(Nb).Address(ColumnAbsolute:=False), ":")(1)
    MsgBox ("Lettre dernière colonne tab moyennes : " & Lettre_Col_Cible)
End Sub
Bonsoir à tous
essaye
VB:
Sub chercher_lettre_col()
      Dim Nb As Byte, Lettre_Col_Cible$
      Nb = Range("Tab_Moy").ListObject.ListColumns.Count + Range("Tab_Moy").Column - 1
    Lettre_Col_Cible = Split(Columns(Nb).Address(ColumnAbsolute:=False), ":")(1)
    MsgBox ("Lettre dernière colonne tab moyennes : " & Lettre_Col_Cible)
End Sub
 
Bonsoir à tous
essaye
VB:
Sub chercher_lettre_col()
      Dim Nb As Byte, Lettre_Col_Cible$
      Nb = Range("Tab_Moy").ListObject.ListColumns.Count + Range("Tab_Moy").Column - 1
    Lettre_Col_Cible = Split(Columns(Nb).Address(ColumnAbsolute:=False), ":")(1)
    MsgBox ("Lettre dernière colonne tab moyennes : " & Lettre_Col_Cible)
End Sub
Merci beaucoup ça fonctionne super bien ! Bravo !
 
- 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

Retour