XL 2010 Résolu par DoubleZéro et Si : Code qui bloque

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Pour les besoins de mon fichier de travail qui devient super à vous, j'ai un code qui prévient par message vocal et qui renvoie à la cellule concernée :
Code:
Sub lance_Voix()
'Selection.SpecialCells(xlCellTypeVisible)
For Each cellule In Feuil5.SpecialCells(xlCellTypeVisible).Range("t7:t20000")
If Rows.Hidden = False Then
  If cellule < Now Then
    Call Test_Voix
    cellule.Select
    'MsgBox ("La cellule '<Now' est selectionnée")
    Exit Sub
    End If
  End If
Next cellule
End Sub

Mais ça "coince sur cette ligne :
For Each cellule In Feuil5.SpecialCells(xlCellTypeVisible).Range("t7:t20000")

Presque nul en vba, je n'arrive pas à trouver le bon code.

Auriez-vous la solution ?
Avec mes remerciements,
Je vous souhaite une très bonne journée à toutes et à tous.
Amicalement,
Lionel,
 
Dernière édition:

Si...

XLDnaute Barbatruc
Bonjour

mais c'est bien sûr ma chère :D:D !

Est-ce une suite à la discussion dici ?

Si oui, la clé du problème viendra quand on saura exactement à quel moment une des cellules de la plage est modifiée !

Sans doute ainsi
VB:
Private Sub Worksheet_Change(ByVal R As Range)
  If Not Intersect(R, [T7:T2000]) Is Nothing And R.Count = 1 Then
  If R < Now() Then Application.Speech.Speak "Bonjour le Forum, je vous souhaite une belle journée !"
  End If
End Sub
que la plage soit filtrée ou pas.
Tu pourras d’ailleurs utiliser cet évènement pour avoir l’alerte
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
  Dim C As Range
  If R.Address = [T6].Address Then
  [T6:T20000].AutoFilter 1, "<>"
  For Each C In [T6:T20].SpecialCells(12)
  If C < Now Then
  Application.Speech.Speak "Bonjour le Forum, je vous souhaite une belle journée"
  C.Activate
  Exit For
  End If
Next
  [T6:T20000].AutoFilter
  End If
End Sub
 

Pièces jointes

  • Test Voix.xlsm
    22.2 KB · Affichages: 38

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Doubel Zéro,

Merci de m'avoir répondu ça marche mais il ne me sélectionne pas la 1ère cellule (inférieure à now) de la ligne.

Il m'envoie à la première ligne cellule vide ???

J'essaie de trouver ce qui ne vas pas.
Je joins le fichier.
Amicalement,
Lionel,
 

Pièces jointes

  • Test Voix.xlsm
    22.1 KB · Affichages: 27

Si...

XLDnaute Barbatruc
re

Autre évènement et avec des lignes spécialement * masquées (12), des lignes vides (2)
VB:
Private Sub Worksheet_Activate()
    Dim C As Range
    For Each C In Sheets(1).Range("G2:G20000").SpecialCells(12).SpecialCells(2)
        If C < Now Then
             Application.Speech.Speak "Vendeur à appeler"
            C.Activate
            Exit For
        End If
    Next
End Sub

*que t'avait proposé ÓÒ mais que tu n'as pas utilisé (?) dans ton dernier fichier joint !
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re DoubleZéro,
Re Si,

LOL, je suis un peu perdu.
Je pense que je n'ai pas assez explicité mon souci.

Je re-tente mon explication
Dans mon fichier de travail (environ 20.000 lignes), j'affiche les lignes en fonction de 6 critères de sélections.

Bien évidemment, ce serait trop facile LOL, les lignes masquées ne se suivent pas.

Ce que je voudrais :
Si, par exemple les lignes 10-15-50-100-200 etc sont affichées (Rows("7:20000").Hidden = True), tout le reste False

En exécutant l'alerte par voix, qu'il ne me trouve la 1ère cellule de ma colonne g (dans le test) en ne cherchant que dans les lignes affichée : 10-15-50-100-200
Mais qu'il ne m'affiche pas les lignes masquées.

LOL, pas sûr d'être clair :confused:

Fichier proposé par doubleZéro joint,
 

Pièces jointes

  • Test Voix DZ.xlsm
    22.1 KB · Affichages: 39
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re DoubleZéro,
Re-Si,

Je viens de regarder "en détails" le fichier de DoubleZéro (00 - arthour973 - Disque non rayé...)
Il répond parfaitement à ce que je cherche à faire.
Il me donne également une autre réponse que je cherchais : avoir plusieurs messages
Mais il reste un "truc" très important pour moi que je n'arrive pas à résoudre.

Il ne faut pas qu'il affiche les lignes masquées ... est-ce possible ?
Déjà un très grand merci d'en être arrivé à ce résultat.
fichier joint,
Amicalement,
Lionel,
 

Pièces jointes

  • 00 - arthour973 - Disque non rayé....xlsm
    20.8 KB · Affichages: 24

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec