Erreur : l'indice n'appartient pas à la sélection

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

didi7828

XLDnaute Nouveau
Bonjour,

J'ai fait une petite macro qui doit m'avertir à chaque fois qu'une valeur descend en-dessous d'un certain seuil ou monte au-dessus d'un autre seuil.
Mais elle bug en me disant : erreur 9 : l'indice n'appartient pas à la sélection sur la ligne en gras ci-dessous.
Quelqu'un peut m'aider ?
L'excel sur ci-joint : Cijoint.fr - Service gratuit de dépôt de fichiers

Sub MonitoringQuotes()
Dim ValuesNameRange As Range, _
RTimeQuotesRange As Range, _
RTimeQuotesAlertRange As Range, _
QuotesLinesRange As Range
Dim TabNames As Variant, _
TabQuotes As Variant, _
TabQuotesAlert As Variant, _
RTValue As Variant, _
RTAlertTop As Variant, _
RTAlertStop As Variant
Dim RTAlertStopbis As Variant
Dim AlertSound As Integer
Dim AlertValues As String
Dim NbLines As Long, _
i As Long

Set ValuesNameRange = ThisWorkbook.Worksheets(portfolioSheet).Range(ValuesName)
Set RTimeQuotesRange = ThisWorkbook.Worksheets(portfolioSheet).Range(RTimeQuotes)
Set RTimeQuotesAlertRange = ThisWorkbook.Worksheets(portfolioSheet).Range(RTimeQuotesAlert)

TabNames = ValuesNameRange.Value
TabQuotes = RTimeQuotesRange.Value
TabQuotesAlert = RTimeQuotesAlertRange.Value

NbLines = UBound(TabQuotes, 1)

AlertSound = 0
AlertValues = ""

For i = 1 To NbLines
RTValue = TabQuotes(i, 1)
If IsEmpty(RTValue) Or Not IsNumeric(RTValue) Then Exit For
RTAlertTop = TabQuotesAlert(i, 1)
RTAlertStop = TabQuotesAlert(i, 2)
RTAlertStopbis = TabQuotesAlert(i, 3)

If Not IsEmpty(RTAlertTop) And IsNumeric(RTAlertStop) And RTValue < RTAlertStop Then
If AlertSound = 0 Then
AlertValues = TabNames(i, 1) & " (" & RTValue & " < " & RTAlertStop & ")"
Else
AlertValues = AlertValues & " *** " & TabNames(i, 1) & " (" & RTValue & " < " & RTAlertStop & ")"
End If
AlertSound = 1
End If

If Not IsEmpty(RTAlertTop) And IsNumeric(RTAlertStopbis) And RTValue > RTAlertStopbis Then
If AlertSound = 0 Then
AlertValues = TabNames(i, 1) & " (" & RTValue & " > " & RTAlertStopbis & ")"
Else
AlertValues = AlertValues & " *** " & TabNames(i, 1) & " (" & RTValue & " > " & RTAlertStopbis & ")"
End If
AlertSound = 1
End If

Next

Call MonitoringQuotesColor(3)
If AlertSound Then
Application.StatusBar = "ALERTES !!! : " & AlertValues
If Sheets(portfolioSheet).EnabledSound.Value Then Call PlaySound
If Sheets(portfolioSheet).EnabledMail.Value Then
Set QuotesLinesRange = ThisWorkbook.Worksheets(portfolioSheet).Range("QuotesLines")
Call Envoi_Email_Msg("ALERTES !!! : " & AlertValues, QuotesLinesRange)
End If
End If
End Sub
 
Dernière édition:
Re : Erreur : l'indice n'appartient pas à la sélection

RE

Je viens de verifier et en effet tu as que les colonne s1 et 2 ce qui correspond d'ailleurs à ta plage de cellule nommée RTimeQuotesAlert qui couvre Z10 à AA50 soit 2 colonnes
Donc tu n'as pas de colonne 3 dans ta variable
 
Re : Erreur : l'indice n'appartient pas à la sélection

Bonjour didi7828, PascalXLD,

J'ai vérifié la déclaration de la variable TabQuotesAlert, elle est définie comme "Variant" simple (pas de tableau).
Après avoir effectué la recherche de toutes les occurences de cette variable dans le code, je n'ai pas trouvé de tableau affecté à ce nom.
Je ne comprends donc pas que le programme plante sur le 3ème indice, il devrait le faire sur la 1ère occurence : mystère ?
A moins que quelquechose ne m'échappe, mais ne connaissant pas les arcanes de ce programme, c'est très difficile d'orienter des recherches.

Cordialement.
 
Re : Erreur : l'indice n'appartient pas à la sélection

RE

oui mais quand les données sont récupérées ici

Set RTimeQuotesAlertRange = ThisWorkbook.Worksheets(portfolioSheet).Range(RTim eQuotesAlert)

Là le tableau se crée

Mais comme on le disait avec GIBI la palge nommée RTim eQuotesAlert ne comprend que 2 colonnes donc dans la variable 2 colonnes aussi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
645
Réponses
15
Affichages
467
Réponses
5
Affichages
779
Retour