Afficher pop up quand cellule Excel remplie

tony020422

XLDnaute Junior
Bonjour tout le monde,
je suis tout nouveau sur ce forum!!et j'espère pouvoir trouver ici des conseils me permettant de réussir a faire ce que j'aimerais! :rolleyes:

Je vous ecrit pour vous demander de l'aide (ca parait simple mais je n'y arrive pas): je ne suis pas trés doué en informatique mais je dois pour mon stage réaliser ceci:
afficher un pop up (MsgBox) contenant "n'oubliez pas de facturer pour régulariser la situation 2" sur Excel 2003 lorsqu'une cellule est remplie (par exemple la cellule B5 de la colonne B intitulée alors "livraison de matériel sur site".....je ne sais pas comment m'y prendre!

Pis du coup est ce que je dois mettre tt le temps le mm texte dans la cellule ou bien puis je mettre ce que je veux dans la cellule a condition que le simple fait que la cellule soit remplie suffise?

Merci d'avance pour vos précieuses aides....;)
Passez un agréable journée!!
..Antony..
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

alors dans le script de la feuil1 il y a ca:

'macro qui s'exécute à chaque fois qu'il y a un changement sur une des cellules de la feuille
'"Target" représente la cellule qui a changé
Private Sub Worksheet_Change(ByVal Target As Range)
'si c'est la cellule B5 qui a changé
If Target.Column = 5 Then
'si la cellule n'est pas vide
If Target.Text <> vbNullString Then
'afficher le message
MsgBox "n'oubliez pas de facturer pour régulariser la situation 2"
End If
End If
End Sub

il y a ca dans ThisWorkbook:

Private Sub Workbook_Open()
Dim texteCherche As String, message As String, celluleRecherche As Range, zoneRecherche As Range, lAdressePremCell As String

'initialiser le texte à chercher ("s24" si on est en semaine 22)
texteCherche = "s" & CStr(Module1.Semaine(Now) + 2)

'initialiser la zone de recherche (colonne F)
Set zoneRecherche = ThisWorkbook.Sheets("Feuil1").Range("F:F")

message = "Penser à envoyer courrier pour annoncer le début des travaux :" & vbNewLine

'lancer la recherche
Set celluleRecherche = zoneRecherche.Find(texteCherche, , xlValues, xlWhole)
'si rien n'est trouver, quitter la procédure
If celluleRecherche Is Nothing Then Exit Sub
'sinon, mémoriser l'adresse de la première cellule trouvée
lAdressePremCell = celluleRecherche.Address
'boucler ...
Do
'traiter la cellule de recherche

'ajouter une ligne au message
message = message & vbNewLine & "chantier """ & celluleRecherche.Offset(0, -5) & ", " & _
celluleRecherche.Offset(0, -4) & ", " & celluleRecherche.Offset(0, -3) & """"

'rechercher la cellule suivante
Set celluleRecherche = zoneRecherche.FindNext(celluleRecherche)
'... tant que la cellule de recherche n'est pas revenu à la première cellule trouvée
Loop Until celluleRecherche.Address = lAdressePremCell
Set celluleRecherche = Nothing

MsgBox message
End Sub


et il y a ca dans le modul1:

Public Function Semaine(dat As Date) As Integer
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((Weekday(DateSerial(Year(dat), 1, 1)) + 1) _
Mod 7) - 3) / 7) + 1
If a = 0 Then
a = Semaine(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
a = 1
End If
Semaine = a
End Function




Private Sub Workbook_Open()
Dim texteCherche As String, message As String, celluleRecherche As Range, zoneRecherche As Range, lAdressePremCell As String

'initialiser le texte à chercher ("s24" si on est en semaine 22)
texteCherche = "s" & CStr(Semaine(Now) + 2)

'initialiser la zone de recherche (colonne F)
Set zoneRecherche = ThisWorkbook.Sheets("Feuil1").Range("F:F")

message = "Penser à envoyer courrier pour annoncer le début des travaux :" & vbNewLine

'lancer la recherche
Set celluleRecherche = zoneRecherche.Find(texteCherche, , xlValues, xlWhole)
'si rien n'est trouver, quitter la procédure
If celluleRecherche Is Nothing Then Exit Sub
'sinon, mémoriser l'adresse de la première cellule trouvée
lAdressePremCell = celluleRecherche.Address
'boucler ...
Do
'traiter la cellule de recherche

'ajouter une ligne au message
message = message & vbNewLine & "chantier """ & celluleRecherche.Offset(0, -5) & ", " & _
celluleRecherche.Offset(0, -4) & ", " & celluleRecherche.Offset(0, -3) & """"

'rechercher la cellule suivante
Set celluleRecherche = zoneRecherche.FindNext(celluleRecherche)
'... tant que la cellule de recherche n'est pas revenu à la première cellule trouvée
Loop Until celluleRecherche.Address = lAdressePremCell
Set celluleRecherche = Nothing

MsgBox message
End Sub



ppr essayer j'ai mis s25 puis s24 en colonne F mais rien ne se passe........
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

ouaaouuuuuuuuuuuu ca y est ca marche c'est trop la classe!!!!!!! yeaahh je ss trop content a serieux merci romain tu geres trop !! ca me dépatuoille pas mal vraiment!

je vais continuer a travailler sur mon excel et ne manquerais pas de revenir sur ce forum pr aider (si je peux) ou pr faire appel a vous!!

Mille merci encore, bonne journée ensoleillée!!
 

skill75

XLDnaute Nouveau
Re : Afficher pop up quand cellule Excel remplie

Bonjour à vous deux,

j'ai un petit soucis également dans mon stage.
Je voudrais afficher un msg box lorque que cellule par exemple n'est pas rempli.
Je m'explique :

Je vais m'interesser sur 3 colonne en particulier. (Plage AM 9H00 à 13H00, Plage PM 14H00 à 18H00, Autres Plages). L'utilisateur peux choisir dans la colonne Plage AM 9H00 à 13H00, Plage PM 14H00 à 18H00, Autres Plages soit OUI/NON à l'aide du liste déroulante.

Je souhaite que lorqu'un utilisateur choissient OUI/OUI, la colonne Autres Plages reste vide.
Par contre quand un utilisateur choissient NON/NON, la colonne Autres Plages affiche un popup qui mentionne "veuillez remlir la colonne AUTRE PLAGE"

lorqu'un utilisateur choissient OUI/NON, la colonne Autres Plages affiche un popup qui mentionne "préciser la plage PM"
lorqu'un utilisateur choissient non/oui, la colonne Autres Plages affiche un popup qui mentionne "préciser la plage PM"

J'ai fais ça comme cela :
=SI(ET(P147="oui";Q147="oui");"Plage AM, Plage PM";SI(ET(B117="non";C117="non");"";SI(ET(P147="oui";Q147="non");"Plage AM";SI(ET(P147="non";Q147="oui");"Plage PM ";SI(ET(P147="";Q147="");"Précisier la plage horaire";) ))))

Mais je preferais avoir des msg box et que les conditions ne se marque pas ds la celulle.

Si vous pouvez m'aider, ça serait super :)

Merci et à très bientot
SKILL75
 

mromain

XLDnaute Barbatruc
Re : Afficher pop up quand cellule Excel remplie

Bonjour à vous deux,

j'ai un petit soucis également dans mon stage.
Je voudrais afficher un msg box lorque que cellule par exemple n'est pas rempli.
Je m'explique :

Je vais m'interesser sur 3 colonne en particulier. (Plage AM 9H00 à 13H00, Plage PM 14H00 à 18H00, Autres Plages). L'utilisateur peux choisir dans la colonne Plage AM 9H00 à 13H00, Plage PM 14H00 à 18H00, Autres Plages soit OUI/NON à l'aide du liste déroulante.

Je souhaite que lorqu'un utilisateur choissient OUI/OUI, la colonne Autres Plages reste vide.
Par contre quand un utilisateur choissient NON/NON, la colonne Autres Plages affiche un popup qui mentionne "veuillez remlir la colonne AUTRE PLAGE"

lorqu'un utilisateur choissient OUI/NON, la colonne Autres Plages affiche un popup qui mentionne "préciser la plage PM"
lorqu'un utilisateur choissient non/oui, la colonne Autres Plages affiche un popup qui mentionne "préciser la plage PM"

J'ai fais ça comme cela :
=SI(ET(P147="oui";Q147="oui");"Plage AM, Plage PM";SI(ET(B117="non";C117="non");"";SI(ET(P147="oui";Q147="non");"Plage AM";SI(ET(P147="non";Q147="oui");"Plage PM ";SI(ET(P147="";Q147="");"Précisier la plage horaire";) ))))

Mais je preferais avoir des msg box et que les conditions ne se marque pas ds la celulle.

Si vous pouvez m'aider, ça serait super :)

Merci et à très bientot
SKILL75


Bonjour skill75, et bienvenue sur le forum :)

je te conseille d'ouvrir un nouveau fil avec ton problème (tu auras surement plus de réponses).
De plus, il faudrait faire un petit fichier exemple (histoire d'avoir de quoi se mettre sous la dent ;))

à bientôt (sur un autre fil donc)

PS: juste à titre indicatif, voici la Lien supprimé.
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 897
Membres
103 404
dernier inscrit
sultan87