Appliquer à une colonne

Résolu
Quentinb56 -  
 Quentinb56 -
Bonjour,

Je cherche depuis hier comment effectué une macro qui s'applique à l'ensemble de ma colonne, je voudrais que ma macro me permette de cliquer n'importe ou dans la colonne que je récupère la position du clic (la cellule) et que cela m'ouvre une inputbox pour rentrer une information.

Pour être plus précis cette application doit me permettre de rentrer des commentaires qui sont enregistrés dans un autre fichier, la cellule qui contiendra la macro elle ira cherché la valeur dans l'autre fichier et comme cela je fais des modifications dans l'autre fichier.
Cela me permet entre autre d'affecter la valeur à une ligne en particulière et lors d'un ajout dans le tableau cela décalera automatiquement mes commentaires avec l'élément associé.

1 réponse

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Quentin, bonjour le forum,

Tu peux utiliser l'événement SelectionChange qui fera exactement ce que tu demandes :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then 'colonne à adapter, ici A (1)
    MsgBox Target.Address(0, 0) 'juste pour que tu vois qu'il te faudra utiliser Target (de type Range) pour la suite
    'ton code
End If
End Sub

Mais je te recommande l'événement BeforeDoubleClick, qui lui agira au double-clic plutôt qu'au (simple) clic. Cela évite souvent le lancement de la macro de manière intempestive :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then 'colonne à adapter, ici A (1)
    Cancel = True 'évite le mode édition lié au double-clic
    MsgBox Target.Address(0, 0) 'juste pour que tu vois qu'il te faudra utiliser Target (de type Range) pour la suite
    'ton code
End If
End Sub

1
Quentinb56
 
Réponse rapide et clair ! (et qui marche)

Merci pour ta réponse, malgré mes recherches je n'ai pas trouvé de réponse précise à mon problème pourtant j'ai déjà vu le code que tu exposes, le problème posé n'était surement pas exposé de la même manière :)
0
Quentinb56
 
Autre question, target me renvoie la cellule est il possible de renvoyer uniquement le numéro de ligne ?
0
Quentinb56
 
C'est encore moi j'ai trouvé Target.Row ;)
0