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

Définir cellule active dans une variable

Ptitgoud

XLDnaute Nouveau
Bonjour le forum,

Je voudrais faire une macro me permettant de trier deux colonnes par ordre alphabétique lors de l'ajout d'un élement dans l'une de ces colonnes (cette partie la c'est bon) mais ensuite revenir sur la cellule sur laquelle j'étais situé avant de faire le tri.

J'ai donc écrit la macro suivante :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim cellule As Range

cellule = ActiveCell.Address

    
    Range("A2:A100").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    
    Range("B2:B100").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    
    
    Range(cellule).Select
End Sub

Mais j'ai une erreur au niveau de ma variable cellule, j'ai un message comme quoi la variable objet est non définie. ActiveCell.Address me renvoie bien A18 (par exemple) mais cellule m'indique Nothing lors du débogage.

Si quelqu'un pourrait m'éclairer!

Merci d'avance!
 

Pierrot93

XLDnaute Barbatruc
Re : Définir cellule active dans une variable

Bonjour,

pas sûr d'avoir tout compris, mais déjà tu peux modifier ceci :
Code:
Dim cellule As Range
cellule = ActiveCell.Address

en :
Code:
Dim cellule As String
cellule = ActiveCell.Address

ou bien en :
Code:
Dim cellule As Range
Set cellule = ActiveCell

bon après midi
@+
 

Ptitgoud

XLDnaute Nouveau
Re : Définir cellule active dans une variable

J'avais essayé ta dernière solution et il y a un message d'erreur également.

Par contre la solution "as string" fonctionne.

Merci Pierrot! Et bon après-midi à toi aussi!
 

Discussions similaires

Réponses
3
Affichages
651
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…