Macro Erreur 9

Bonjour

Macro bogue (l'indice n'appartient pas à la sélection) fonctionnait bien hier,à priori rien n'a été modifié???

Merci

Voir fichier joint

Nonno

17tuto2.xlsm (93.52 Ko)

Bonjour,

Il n'y a aucune donnée dans le Tableau8 de Sheets("ArchivMouv")

C'est ce qui donne l'erreur.

Si le fichier vide doit être fourni à d'autres personnes, l'on peut tenter de contourner le souci en ajoutant une condition.

ric

Merci Ric

J'étais loin de penser que le problème venait de ce tableau"vide"

La condition pour contourner ce "problème" m’intéresse;

peux tu m'en dire plus ou mieux l’intégrer dans le code?

Merci d'avance

Bonsoir,

et en demandant juste d'ajouter une ligne au dessus de la première du tableau, cela pose t il un problème ?

listobj2.ListRows.Add (1)

Car même sans données, elle est acceptée.

Mais peut-être qu'au niveau des formats de cellules du tableau cela ne suit pas...

@ bientôt

LouReeD

Bonjour à tous,

Remplace >

    ListObj.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    listobj2.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Par >

    '' ric >> test du nombre de lignes du tableau 6
    If Sh.Range("Tableau6").Rows.Count > 1 Then
        listobj2.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Else
        Sh.Range("Tableau6[Date]").ListObject.ListRows.Add (1)
    End If

    '' ric >> test du nombre de lignes du tableau 8
    If sh2.Range("Tableau8").Rows.Count > 1 Then
        listobj2.ListRows(1).Range.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Else
        sh2.Range("Tableau8[Date]").ListObject.ListRows.Add (1)
    End If

ric

Bonjour,

Une contribution.

Cdlt.

8tuto2.xlsm (90.23 Ko)
Option Explicit

Public Sub mouv2()
Dim ws As Worksheet
Dim lo As ListObject, lo2 As ListObject
Dim arr(6) As Variant
Dim Cell As Range

    Set ws = Worksheets("Mouvement")
    Set lo = Range("Tableau6").ListObject
    '------------------------------------------------------------------------------
    Set lo2 = Range("Tableau8").ListObject
    '------------------------------------------------------------------------------
    With ws
        arr(0) = .Range("C7")
        arr(1) = .Range("B4")
        arr(2) = .Range("D4")
        arr(3) = .Range("C13")
        arr(4) = .Range("C15")
        arr(5) = .Range("C9")
        arr(6) = .Range("C10")
    End With
    '------------------------------------------------------------------------------
    With lo
        If .InsertRowRange Is Nothing Then
            Set Cell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
        Else
            Set Cell = .InsertRowRange.Cells(1)
        End If
    End With
    Cell.Resize(, 7).Value = arr
    '------------------------------------------------------------------------------
    With lo2
        If .InsertRowRange Is Nothing Then
            Set Cell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
        Else
            Set Cell = .InsertRowRange.Cells(1)
        End If
    End With
    Cell.Resize(, 7).Value = arr

End Sub

Bonsoir,

ric, Jean-Eric (au début j'ai cru à un diminutif ! )

pour ma culture :

Quel est le problème avec :

listobj2.ListRows.Add (1)

pour être obligé à "faire autant de tests" comme dans vos solutions ?

Merci.

@ bientôt

LouReeD

Merci

Bonne Journée

Nonno

Bonsoir,

ric, Jean-Eric (au début j'ai cru à un diminutif ! )

pour ma culture :

Quel est le problème avec :

listobj2.ListRows.Add (1)

pour être obligé à "faire autant de tests" comme dans vos solutions ?

Merci.

@ bientôt

LouReeD

Bonjour LouReed ... pour ma part ce n'est que le peu de connaissance en programmation.

ric

Bonjour,

ne dites pas ça, moi qui regarde avec attention vos réponses !

Je pensais juste que peut-être la recopie de format ne marche pas dans ce cas, mais vu qu'on est dans un tableau structuré...

Perso je n'avais pas fait le lien entre "erreur" et "tableau vide" !

Passez une bonne journée (Attention ! Ne prenez pas cela comme un ordre ! )

@ bientôt

LouReeD

Rechercher des sujets similaires à "macro erreur"