Autres (RESOLU) Erreur d'exécution '9

chaelie2015

XLDnaute Accro
Bonsoir Forum
J'ai créé ce petit code :
VB:
Private Sub CommandButton1_Click()
If Range("R4") = "" Or Range("R6") = "" Or Range("R8") = "" Then
    MsgBox ("Il manque des informations...!")
   
    If Range("R4") = "" Then
    Range("R4").Interior.ColorIndex = 6
    Else
    Range("R4").Interior.ColorIndex = 0
    End If
   
    If Range("R6") = "" Then
    Range("R6").Interior.ColorIndex = 6
    Else
    Range("R6").Interior.ColorIndex = 0
    End If
   
    If Range("R8") = "" Then
    Range("R8").Interior.ColorIndex = 6
    Else
    Range("R8").Interior.ColorIndex = 0
    End If

Else
    Range("R4").Interior.ColorIndex = 0
    Range("R6").Interior.ColorIndex = 0
    Range("R8").Interior.ColorIndex = 0

If Sheets("GDC 2022").Range("A7") = "" Then
   Sheets("GDC 2022").Range("A7") = Now()
Else
   ListObjects(1).ListRows.Add.Range(1, 1).Value = Now() '<----  Erreur d'exécution '9' a ce niveau
End If
 
 End If
End Sub

Quand j'exécute mon programme, j'obtiens: "Erreur d'exécution '9' L'indice n'appartient pas à la selection."
NB: Ce code est dans la feuille nommée "Menu"
A+
 
Solution
Puisqu'il n'y a pas de tableau structuré remplacez l'instruction erronée par :
VB:
Sheets("GDC 2022").Range("A" & Rows.Count).End(xlUp)(2) = Now
Et mettez la colonne A au format Date/heure que vous voulez..

job75

XLDnaute Barbatruc
Bonsoir chaelie2015,

Range(1, 1) n'a aucun sens, utilisez l'instruction :
VB:
ListObjects(1).ListRows.Add.Range.Cells(1) = Now
qui entre la date et l'heure dans la 1ère cellule de la ligne ajoutée.

Edit : bonsoir Wayki, Bernard, pas rafraîchi.

A+
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Non, plage ordinaire n'ayant pas fait l'objet d'une mise sous forme de tableau.
De plus cette feuille n'est même pas précisée dans l'instruction qui plantera pareil parce qu'il n'y en a pas dans la feuille représentée par l'objet Workshet dans le module duquel est écrit le code.
 

chaelie2015

XLDnaute Accro
Puisqu'il n'y a pas de tableau structuré remplacez l'instruction erronée par :
VB:
Sheets("GDC 2022").Range("A" & Rows.Count).End(xlUp)(2) = Now
Et mettez la colonne A au format Date/heure que vous voulez..
Re
c'est parfait , ça marche; je souhaite remplacer la date par un numéro (dans la colonne A) qui s'incrémente automatiquement au lieu une date ?
VB:
If Sheets("GDC 2022").Range("A7") = "" Then
   Sheets("GDC 2022").Range("A7") = Now()
Else
   Sheets("GDC 2022").Range("A" & Rows.Count).End(xlUp)(2) = Now
End If
 
Dernière édition:

Discussions similaires

Réponses
49
Affichages
1 K

Statistiques des forums

Discussions
314 714
Messages
2 112 143
Membres
111 440
dernier inscrit
foret_noire