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

Private module

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
 
@

@+Thierry

Guest
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
 
D

Dan

Guest
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
 
@

@+Thierry

Guest
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
 
S

Sylvain

Guest
bonsoir,

une autre idée pour aller dans le private module d'un onglet :

Clic droit sur le nom l'onglet,
Dans le menu contextuel, choisir : visualiser le code.

A+
 
@

@+Thierry

Guest
Bonjour Jean-Batiste, Sylvain, le Forum

M'enfin Sylvain ! tu devais être un peu fatigué à 1:06... Car tu répètes exactement ce que j'ai proposé en soluce alternative

Bonne Journée
@+Thierry
 
S

Sylvain

Guest
Bonjour,

Oui tu as raison, il va falloir que je me couche plus tôt. D'ailleurs ça m'étonnait que tu ne l'aie pas mis.

Bon, je vais essayer de me réveiller.

A+
 

Discussions similaires

Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…