• Initiateur de la discussion Initiateur de la discussion Jean-Baptiste
  • 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 !

J

Jean-Baptiste

Guest
Bonjour à tous, bonjour le forum,

Merci à Philippe de m'avoir répondu, mais comment fait on pour placer cette macro dans un private Module.

Voici une solution par Macro évènementielle à placer dans le Private Module de la Feuille en Question (Pas un module standard).

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ligne As Integer
Ligne = Target.Row

If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
If Range("B" & Ligne) = "" Then
MsgBox "Attention la cellule " & Range("B" & Ligne) & " est vide", vbCritical
End If
End If


End Sub

Merci pour vos réponses
 
Bonjour Jean Batiste, le Forum

Tiens cette phrase écrite textuellement : "Voici une solution par Macro évènementielle à placer dans le Private Module de la Feuille en Question (Pas un module standard) me dit quelque chose... y aurait-il eu plagia !! lol

Sinon je n'ai pas fait le GIF animé pour ce cas de figure, mais celui du Private Module du WorkBook=> "ThisWorkBook"...

En fait en suivant les mêmes instructions, mais en double cliquant sur :
=> Feuil1 (Feuil1)

Tu auras le Private Module de la Feuille en Question ...



Bonne Journée
@+Thierry
 
Re: Private module - Initiation

Bonjour Jean Baptiste, Thierry, Le forum,

L'intervention de notre sympathique ami Thierry m'amène ici pour suggérer à tous de conserver cette excellente explication au cas où vous souhaiteriez débuter les macros événementielles en VBA.

Bon ap

@+ Dan
 
Re Bonjour Jean Batiste, Dan, le Forum

T'inquiète pas il n'y a pas de mal pour le nom.

Pour ton problème, je pense que tu dois appliquer à la lettre mon GIF animé. Hors celui-ci est prévu pour une macro évènementielle d'ouverture de classeur.

Pour que ce code fonctionne :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ligne As Integer
Ligne = Target.Row

   If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
      If Range("B" & Ligne) = "" Then
         MsgBox "Attention la cellule " & Range("B" & Ligne) & " est vide", vbCritical
      End If
   End If

End Sub

Il doit être placé NON PAS dans le module "ThisWorkBook" MAIS dans le module de la Feuille que tu veux (dans le GIF tu aurais soit Feuil1 ou soit Feuil2)

Il te suffit de DOUBLE-CLIQUER sur la feuille désirée...

Le reste de la procédure est identique que le Gif, sauf que tu n'a qu'à copier/coller ce code...

Sinon une solution ALTERNATIVE :

Depuis Excel, tu te places sur l'onglet de la feuille voulue et tu fais un CLICK-DROIT et tu sélectionnes dans le menu contextuel "Voir Codes" tu arriveras au même endroit dans le module pour ensuite copier/coller ce code...

J'espère que c'est assez clair

Bon Aprèm
@+Thierry
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
410
Réponses
3
Affichages
268
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour