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

Activer une macro avec une condition?

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
 

jp14

XLDnaute Barbatruc
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:

JCAZAUX

XLDnaute Nouveau
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
 

Dranreb

XLDnaute Barbatruc
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.
 

JCAZAUX

XLDnaute Nouveau
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
 

JCAZAUX

XLDnaute Nouveau
Re : Activer une macro avec une condition?

Voici le code :

Module 1 :

Sub Retour()
ActiveCell.Offset(0, 4).Range("A11").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.
 

Dranreb

XLDnaute Barbatruc
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:

JCAZAUX

XLDnaute Nouveau
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…