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

peut etre une piste de reflexion......le pc sur lequel je bosse ne possede pas de disque dur, il est relié directement au siege social par un modem.....a priori le log d'exploitation est
Microsoft Windows Server 2003
Standard Edition
Service pack 2

Tt est géré par le siege social, donc accés limité (pas de modif de date et heure du pc, pas accés a certains dossiers, panneau de config quasi vide....)
c'est ca qui m' a mis la puce a l'oreille:
CORRECTIF : erreur 438" objet ne support cette propriété ou méthode «

si ca peut t'aider.......
 

mromain

XLDnaute Barbatruc
Re : Afficher pop up quand cellule Excel remplie

re,

à tester :
Code:
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(Application.WorksheetFunction.WeekNum([COLOR=Red][B]Application.Evaluate("=TODAY()")[/B][/COLOR]) + 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

a+
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

oooo mince comment je fais alors :confused::confused:
parce que la vraiment je ss perdu......tu es le seul a m'avoir aidé, et si tu me laisses la je ss foutu....tu ne sais pas a quoi ca pourrait etre du ?!..............................
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

Voici une copie de mon écran....regardes en bas a gauche, il y a l'heure et la date qui apparait parce que j'y ai mis la ssouris dessus....

Peut etre que cela peut t'aider........
 

Pièces jointes

  • Image2.jpg
    Image2.jpg
    51.1 KB · Affichages: 35
  • Image2.jpg
    Image2.jpg
    51.1 KB · Affichages: 42
  • Image2.jpg
    Image2.jpg
    51.1 KB · Affichages: 45

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

si tu beug vraiment, une autre solution serait de ne pas mettre la semaine pour le début des travaux mais par exemple la date corespondant au lundi de la semaine en question...exemple pour la semaine 23: mettre 01/06/09 au lieu de s23)....peut etre est ce plus simple d'envoyer le pop up en faisant "01/06/09 - 15 jours"........

je ne sais pas c'est juste ce a quoi j'ai pensé c'est tout!
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

Bijour la compagnie!

Hier Romain m'a quasiment sauvé la vie mais pr un détail que nous ne savons pas le script ne fonctionne pas !! si quelqu'un saurait pourquoi, ce serait merveilleux !!

Je compte sur votre aide car on est tt pret de trouver...merci par avance pour votre aide, bonne journée !!
 

mromain

XLDnaute Barbatruc
Re : Afficher pop up quand cellule Excel remplie

re bonjour tony020422,

à tester :
Code:
[B]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[/B]




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([B][COLOR=black]Semaine[/COLOR][/B](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

a+
 

tony020422

XLDnaute Junior
Re : Afficher pop up quand cellule Excel remplie

Re romain ,

mille merci de te pencher sur mon pb, vraiment !!

Par contre j'ai copié collé ton script..............

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


dans un nveau module aprés avoir fait : clik droit sur Feuil1, puis visualiser code, puis ajout de module.......

comment faire alors pr le tester ton script ?!
 

mromain

XLDnaute Barbatruc
Re : Afficher pop up quand cellule Excel remplie

re,

si ton module (où il y a la fonction Semaine) s'appelle Module1,

voici la macro de ThisWorkbook,
Code:
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([B]Module1.Semaine[/B](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

a+
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

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