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:

DoubleZero

XLDnaute Barbatruc
Bonjour, arthour973, le Forum,

Comme ceci ?
VB:
For Each cellule In Feuil1.Range("t7:t20000").SpecialCells(xlCellTypeVisible)
A bientôt :)
 

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
 

Fichiers joints

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,
 

Fichiers joints

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour SI,
OUI, c'est un complément au précédent fil mais c'est une autre question LOL
Merci pour ton fichier,
Je vois et je reviens dès que possible :)
Amicalement,
Lionel,
 

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,
 

Fichiers joints

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,
 

Fichiers joints

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour DoubleZéro,

C'est génial (et super sympa)
Exactement ce qu'il me fallait.
J'ai du vous donner du boulot LOL
Un vrai grand merci pour ce super travail.
Génial vraiment :);) (DoubleZéro est un gros mensonge LOL)
Bonne fin de journée,
Amicalement,
Lionel,
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas