A voir également:
- Excel : Utilisation de macros avec cellule active
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
6 réponses
Bonjour
je suis peu doué e VBA mais peut être en utilisant les positions relatives, dans le code de la feuille (pas dans un module):
Target.cells.offset (ligne, colonne).value= votre calcul
ligne étant le nombre de ligne depuis a cellule "mére" jusqu'à celle résultat, et idem pour colonne
La qualité de la réponse dépend surtout de la clarté de la question, merci!
je suis peu doué e VBA mais peut être en utilisant les positions relatives, dans le code de la feuille (pas dans un module):
Target.cells.offset (ligne, colonne).value= votre calcul
ligne étant le nombre de ligne depuis a cellule "mére" jusqu'à celle résultat, et idem pour colonne
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Mon problème est que je ne sais pas comment récupérer les "coordonnées" de la cellule sélectionnée, sinon, le offset (ou même le reste ne devrait pas être un problème).
Le problème à le faire dans la feuille, serait la facilité de lecture puisqu'il m'imposerait un tableau (sur cette feuille ou une autre) et qu'il serait difficile de s'y repérer
Le problème à le faire dans la feuille, serait la facilité de lecture puisqu'il m'imposerait un tableau (sur cette feuille ou une autre) et qu'il serait difficile de s'y repérer
Bonjour,
je te conseille le double-clic :
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
plutôt que la simple sélection :
Sub Worksheet_SelectionChange(ByVal Target As Range)
à toi de voir.
L'un comme l'autre te passe le range de la cellule ayant déclenché l'événement, c'est Target.
Après tu peux interroger ses propriétés, par exemple :
Target.value
Target.address
Target.column
Target.row etc
En dehors de ces événements fournissant Target la cellule active est ActiveCell tout simplement, ou bien Selection si tu veux la plage sélectionnée, avec les même propriétés.
eric
je te conseille le double-clic :
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
plutôt que la simple sélection :
Sub Worksheet_SelectionChange(ByVal Target As Range)
à toi de voir.
L'un comme l'autre te passe le range de la cellule ayant déclenché l'événement, c'est Target.
Après tu peux interroger ses propriétés, par exemple :
Target.value
Target.address
Target.column
Target.row etc
En dehors de ces événements fournissant Target la cellule active est ActiveCell tout simplement, ou bien Selection si tu veux la plage sélectionnée, avec les même propriétés.
eric
Bonsoir
A placer dans le module "feuille" de la feuille active
Michel
Option Explicit
'---------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E8:Z26")) Is Nothing Then
Range("B1") = Cells(2, Target.Column) / (Target - Target.Offset(0, 1))
End If
End Sub
A placer dans le module "feuille" de la feuille active
Michel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci à tous, je tenterai ça, j'ai cependant des questions:
dans les variables, je comprends Target, le Range il faut bien le définir (il se peut que je dise des bêtises, merci de me prévenir :) ) par contre, tu mets un cancel Eric, je ne le connais pas, que fait-il?
De même on les mets ByVal, quelle est la différence entre ByVal et ByRef ?
Merci à vous en tout cas
dans les variables, je comprends Target, le Range il faut bien le définir (il se peut que je dise des bêtises, merci de me prévenir :) ) par contre, tu mets un cancel Eric, je ne le connais pas, que fait-il?
De même on les mets ByVal, quelle est la différence entre ByVal et ByRef ?
Merci à vous en tout cas
C'est vba qui met tout ça.
Dans un module feuille choisis Worksheet dans la liste de gauche (en haut du code), la liste de droite te fournit les événements feuille. Si tu cliques dessus vba t'écrit le Sub avec les paramètres qu'il passe
Si tu mets Cancel=True dans le code l'événement est annulé. Pour le double-clic le passage en mode édition de la cellule est annulé.
Dans le module ThisWorbook tu trouveras les événements classeur.
Cours VBA
Dans un module feuille choisis Worksheet dans la liste de gauche (en haut du code), la liste de droite te fournit les événements feuille. Si tu cliques dessus vba t'écrit le Sub avec les paramètres qu'il passe
Si tu mets Cancel=True dans le code l'événement est annulé. Pour le double-clic le passage en mode édition de la cellule est annulé.
Dans le module ThisWorbook tu trouveras les événements classeur.
Cours VBA