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

Activer une macro avec une condition?

  • Initiateur de la discussion Initiateur de la discussion JCAZAUX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JCAZAUX

XLDnaute Nouveau
Bonjour
Est-il possible d'activer une macro avec une condition (comme par exemple se trouver sur la cellule X ou la colonne Y) ?

plutôt qu'en appuyant sur une touche...

Merci
 
Re : Activer une macro avec une condition?

Bonjour

Un double click en c3 lance la procédure "toto"
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
toto
End If
End Sub
 
Dernière édition:
Re : Activer une macro avec une condition?

Bonjour
Je la garde sous le coude, merci!
mais je voudrais que ça lance la macro sans aucune action du tout, juste en etant sur une colonne particulière
 
Re : Activer une macro avec une condition?

Alors elle doit tourner en permanence tant que la cellule sélectionnée appartient à cette colonne ?
Non je suppose !
Seulement une fois quand on sélectionne une telle cellule.
Alors c'est une Worksheet_SelectionChange qu'il faut.
 
Re : Activer une macro avec une condition?

en fait j'ai une macro que j'active avec tab, qui copie la suite de la ligne sur la ligne du dessous, et revient à la ligne dans la première colonne, à partir de la 3eme colonne. Je souhaiterais que ca se fasse automatiquement dès qu'on a rempli les 2 premières cases d'une ligne et qu'on se retrouve sur la 3e
 
Re : Activer une macro avec une condition?

Voici le code :

Module 1 :

Sub Retour()
ActiveCell.Offset(0, 4).Range("A1😀1").Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(0, -12).Range("A1").Select
End Sub

et

This Workbook :

Sub Entree()
Application.OnKey "{TAB}", "Retour"
End Sub


Je souhaiterais que la macro se fasse automatiquement dès qu'on est sur la colonne C, au lieu d'appuyer sur TAB une fois qu'on a rentré les valeurs nécessaires dans la ligne, dans les cases A et B.
 
Re : Activer une macro avec une condition?

Faites des essais avec une Worksheet_SelectionChange.

Ou plutôt une Worksheet_Change, si c'est suite à une saisie dans la colonne C.
Quelque chose comme ça, à peu près :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count <> 1 Or Target.Columns.Count <> 1 Or Target.Column <> 3 Then Exit Sub
Target.Offset(0, 4).Resize(, 4).Copy Destination:=Target.Offset(1, 4)
Application.EnableEvents = False
Target.Offset(1, -2).Select
Application.EnableEvents = True
End Sub
À tester et corriger par vos soins.

Maintenant si ce sont des formules à reconduire, communes à toutes lignes d'une plage, peut être auriez vous intérêt à la mettre sous forme de tableau pour que ce soit automatique…
 
Dernière édition:
Re : Activer une macro avec une condition?

Bonjour

Pardon de mes questions bêtes mais je suis novice en la matière.

Je n'arrive pas à lancer l'exemple. Il n'apparait pas ds les macro disponibles.

Ou dois-je copier ce code? workbook? macro?

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
430
W
D
  • Question Question
Réponses
5
Affichages
162
Didierpasdoué
D
Réponses
5
Affichages
228
Réponses
5
Affichages
313
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…