[VBA] à quelle colonne de la zone appartient l'activecell ?

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

F22Raptor

XLDnaute Impliqué
Hello,
Un problème tout bête, mais que je n'arrive pas à résoudre simplement.
Je sens confusément qu'il y a un truc con, mais je patine ...

J'ai des données, disons sur 4 colonnes et plusieurs lignes.
Un CurrentRegion me permet de désigner le tout : par exemple B2:E10

Je sélectionne C2 (deuxième colonne et première ligne de ma région).
Je veux, par macro, savoir à quelle N° de colonne (l'index, pas la lettre) de ma CurrentRegion correspond B2.
Ici, ce serait 1
Si je sélectionne E2, soit la dernière colonne de ma zone, ça me renverrait 4.

Une idée ? 🙂
 
Dernière édition:
Re : [VBA] à quelle colonne de la zone appartient l'activecell ?

Hello PhLaurent,
J'ai pris B2:E10 comme exemple, mais le tableau peut être n'importe où : W5:Z324
Donc le "-1" de ta formule n'est plus adapté.

C'est en fait une espèce de (ActiveCell.CurrentRegion).ActiveCell.Column si je puis dire !
Le N° de colonne de l'ActiveCell dans le référentiel ActiveCell.CurrentRegion et non plus la feuille Excel
 
Re : [VBA] à quelle colonne de la zone appartient l'activecell ?

Bonjour,
Re Philippe🙂

essaye peut être ceci :
Code:
MsgBox ActiveCell.Column - ActiveCell.CurrentRegion.Column + 1

bon après midi
@+

Edition : bonjour Toto🙂
 
Dernière édition:
Re : [VBA] à quelle colonne de la zone appartient l'activecell ?

Bonjour F22, Bonjour Philippe, 🙂

peut-être

Code:
Set Plage = Range("B2").Currentregion
Plage.range("B1").select
ColonneGauche = Activecell.column - 1 - Plage.range("A1").column + 1

Edit : Bonjour Pierrot
 
Re : [VBA] à quelle colonne de la zone appartient l'activecell ?

Bonjour,

C'est ça que tu chercher ?
Code:
Sub Test()

    Dim Plage As Range
    
    Set Plage = Range("B2").CurrentRegion
    
    MsgBox ActiveCell.Row - Plage.Row + 1 'ligne
    MsgBox ActiveCell.Column - Plage.Column + 1 'colonne
    
End Sub

Hervé.
 
Re : [VBA] à quelle colonne de la zone appartient l'activecell ?

en cadeau bonux, le code d'une macro de suppression des doublons utilisant le bout de code de Pierrot


VB:
Sub SuppressionDoublons()

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    
    Dim Plge As Range
    Dim i As Integer, j As Integer

    
    Set Plge = ActiveCell.CurrentRegion
    i = 1
    j = ActiveCell.Column - Plge.Column + 1
    
    
    Plge.Sort key1:=ActiveCell, order1:=xlAscending


    Do While Len(Plge.Cells(i, j).Value) > 0
        
        If Plge.Cells(i, j).Value = Plge.Cells(i + 1, j).Value Then
            Plge.Rows(i + 1).Delete Shift:=xlUp
        Else
            i = i + 1
        End If
        
    Loop
       
    
    Application.Calculation = xlCalculationAutomatic
    

End Sub
 
Dernière édition:
- 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