Test sur une colonne dans VBA

Bonjour,

Au début d'un macro je souhaite tester la/les colonne(s) selectionné sur la feuille 2

si des cellules n'etant pas dans la colonne C (3) sont selectionnées, alors il faut sortir de la macro, sinon continuer son execution

le code suivant ne fonctionne pas, avez vous des proposition?

If Feuil2.Range(ActiveCell).Column <> 3 Then
End
Else
'....
end if

merci

vinny

Bonjour,

essaye peut être ceci :

If ActiveCell.Column <> 3 Then Exit Sub

bon après midi

@+

Bonsoir,

activecell est la cellule active si tu veux faire un test sur les adresses de toutes les cellules selectionnées essaie ceci, une manrièe de faire parmi d'autres :

If Selection.EntireColumn.Address <> "$C:$C" Then

Bonjour,

Tu peux faire ce test

Sub test()
Dim Msg As String
    Application.ScreenUpdating = False
    Worksheets("Feuil2").Activate
    If Selection.Columns.Count > 1 Or Selection.Column <> 3 Then
        Msg = "On sort de la procédure !"
    Else
        Msg = "On continue la procédure !"
    End If
    Worksheets("Feuil1").Activate
    MsgBox Msg
End Sub

A+

Je n'arrive toujours pas a faire ce que je souhaite.

En faite, je peu avoir plusieurs plages sélectionner et non pas toute la colonne, par exemple C4:C8, C12:C15, C20:C40...

avec la macro "Columns.Count " je pense que ca teste toute la colonne, est n'est donc pas valable dans mon cas.

Par contre quand j'ai une place D6:D17.... au autres que dans la colonen C, il faut sortir de la macro.

Dans le cas d'une sélection multiple dans la colonne C, l'instruction Selection.Columns.Count renvoie 1 puisqu'il n'y a qu'une colonne sélectionnée et l'instruction Selection.Column renvoie 3 puisque la colonne sélectionnée est la colonne C.

Donc, tu devrais trouver ton bonheur avec

    If Selection.Columns.Count > 1 Or Selection.Column <> 3 Then 
        <On sort de la procédure>
    Else
        <On continue la procédure>
    End If

A+

Merci @frangy, ca fonctionne!

Rechercher des sujets similaires à "test colonne vba"