Re bonjour tout le monde.

Je me permets de revenir vers vous car il y a un point que je ne comprends pas dans le vba Excel.
le PB:
j'ai creer une macro qui affiche ou non un certains caractere dans la cellule A1 si il n'y a rien et inversement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Sub Test_vide()
If Not IsEmpty(Range("A1")) Then
    With Range("A1")
    .Range("A1") = ""
    End With
Else: IsEmpty (Range("A1"))
    With Range("A1")
    .Range("A1") = "CD"
    End With
End If
End Sub
Ensuite j'ai une macro "double-clic" qui appel une autre macro ("test_vide")lorsque je double clic sur la cellule A1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Private Sub worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
'condition : si l'intersection de la cible et de la plage A12:A30 n'est pas vide
'autrement dit, si le double clic se fait dans la plage A12:A30
If Not Application.Intersect(Target, Range("A12:A30")) Is Nothing Then
Call Creer_choix   'appelle la macro Créer_choix
Cancel = True 'évite le mode édition lié au double clic
End If 'fin de la condition
 
End Sub
Le probleme est ça ne marche pas regulierement. En effet, le probleme vient du fameux "private sub"...
Je voudrais donc convertir cette macro en "sub" afin que je puisse mettre ces 2 macros dans n'importe quel fichier excel sans me battre a chaque fois avec les "module", worlsheet",etc.

Ma question est donc la suivante:
Comment faire pour que je puisse "mettre en relation ces 2 macros dans une meme "feuille1" par exemple?
Clairement, je veux juste pouvoir ouvrir mon fichier excel/cliquer sur le bouton "Macros" (en haut a gauche) et y inserer mes deux macros pour que je puisse à l'aide du double-clic (macro "before_double_clic") activer la macro "Test_vide"...

J'espere avoir été assez claire.
n.b:je me doute qu'il y a un truc avec les private sub et autres, malheuresement je suis plus que novice en VBA donc je ne comprends pas ça...

Merci d'avance pour votre aide

Cordialement