1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| Option Explicit
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 H)
Set zoneRecherche = ThisWorkbook.Sheets("Feuil1").Range("H:H")
message = "Ne pas oublier d'envoyer le courrier afin d'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 & vbNewLine & "Chantier """ & celluleRecherche.Offset(0, -7) & ", " & _
celluleRecherche.Offset(0, -5) & ", " & celluleRecherche.Offset(0, -4) & """"
'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
' ---------------------------------------------------------------------------------------------
Dim texteChercheL As String, messageL As String, celluleRechercheL As Range, zoneRechercheL As Range, lAdressePremCellL As String
'initialiser le texte à chercher ("s24" si on est en semaine 22)
texteChercheL = "s" & CStr(Module1.Semaine(Now))
'initialiser la zone de recherche (colonne F)
Set zoneRechercheL = ThisWorkbook.Sheets("Feuil1").Range("H:H")
messageL = "Evelyne penses à régulariser la situation n°2 pour :" & vbNewLine
'lancer la recherche
Set celluleRechercheL = zoneRechercheL.Find(texteChercheL, , xlValues, xlWhole)
'si rien n'est trouver, quitter la procédure
If celluleRechercheL Is Nothing Then Exit Sub
'sinon, mémoriser l'adresse de la première cellule trouvée
lAdressePremCellL = celluleRechercheL.Address
'boucler ...
Do
'traiter la cellule de recherche
'ajouter une ligne au message
messageL = messageL & vbNewLine & vbNewLine & "Chantier """ & celluleRechercheL.Offset(0, -7) & ", " & _
celluleRechercheL.Offset(0, -5) & ", " & celluleRechercheL.Offset(0, -4) & """"
'rechercher la cellule suivante
Set celluleRechercheL = zoneRechercheL.FindNext(celluleRechercheL)
'... tant que la cellule de recherche n'est pas revenu à la première cellule trouvée
Loop Until celluleRechercheL.Address = lAdressePremCellL
Set celluleRechercheL = Nothing
MsgBox messageL
' --------------------------------------------------------------------------------------------
Dim texteChercheFINTX As String, messageFINTX As String, celluleRechercheFINTX As Range, zoneRechercheFINTX As Range, lAdressePremCellFINTX As String
'initialiser le texte à chercher ("s24" si on est en semaine 22)
texteChercheFINTX = "s" & CStr(Module1.Semaine(Now))
'initialiser la zone de recherche (colonne F)
Set zoneRechercheFINTX = ThisWorkbook.Sheets("Feuil1").Range("I:I")
messageFINTX = "Evelyne penses à régulariser la situation n°3 pour :" & vbNewLine
'lancer la recherche
Set celluleRechercheFINTX = zoneRechercheFINTX.Find(texteChercheFINTX, , xlValues, xlWhole)
'si rien n'est trouver, quitter la procédure
If celluleRechercheFINTX Is Nothing Then Exit Sub
'sinon, mémoriser l'adresse de la première cellule trouvée
lAdressePremCellFINTX = celluleRechercheFINTX.Address
'boucler ...
Do
'traiter la cellule de recherche
'ajouter une ligne au message
messageFINTX = messageFINTX & vbNewLine & vbNewLine & "Chantier """ & celluleRechercheFINTX.Offset(0, -8) & ", " & _
celluleRechercheFINTX.Offset(0, -6) & ", " & celluleRechercheFINTX.Offset(0, -5) & """"
'rechercher la cellule suivante
Set celluleRechercheFINTX = zoneRechercheFINTX.FindNext(celluleRechercheFINTX)
'... tant que la cellule de recherche n'est pas revenu à la première cellule trouvée
Loop Until celluleRechercheFINTX.Address = lAdressePremCellFINTX
Set celluleRechercheFINTX = Nothing
MsgBox messageFINTX
End Sub |