Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

job75

XLDnaute Barbatruc
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..
 

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:

job75

XLDnaute Barbatruc
Depuis le temps que vous êtes sur le forum vous avez forcément dû voir ça :
VB:
With Sheets("GDC 2022")
    .Range("A" & .Rows.Count).End(xlUp)(2) = Application.Max(.Range("A7:A" & .Rows.Count)) + 1
End With
Bonne nuit.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…