Appliquer à une colonne

Résolu/Fermé
Quentinb56 - 10 avril 2015 à 07:38
 Quentinb56 - 10 avril 2015 à 08:09
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 mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
10 avril 2015 à 07:56
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
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
Autre question, target me renvoie la cellule est il possible de renvoyer uniquement le numéro de ligne ?
0
C'est encore moi j'ai trouvé Target.Row ;)
0