Macro complémentaire xla

Bonjour tout le monde

je suis nouvelle dans le forum

bon mon soucis c'est que : j'ai installé récemment une macro complémentaire xla suivant tous les instructions mais mon probléme c'est que je ne peux pas exécuter ma macro xla correctement ça me donne des erreurs genre débogage pour chaque ligne de mon code :

(l'indice n’appartient pas à la sélection ... membre de méthode ou de données introuvable...) et que je trouve bizarre et flippant pcq le code marche très bien quand il n'est pas sous macro complémentaire,

et les erreurs apparaissent une fois je change le nom d'une feuille ou je supprime une ; il l'a reconnu pas malgré que c'est variable et je donne pas de noms à mes feuilles dans la macro

aidez moi svvvp

lignes d erreurs :

Set FL1 = worksheets(sh.Name)
Cells(i, 1).Value = FL1.Name

voici mon code en entier

Sub Bouton2_Clic()

Dim FL1 As worksheets, Cell As Range, NoCol1 As Double, NoCol2 As Long
Dim DerLig As Long, Plage As Range, i As Double
Dim wk As Worksheet, NewSheet As Worksheet
Dim exist As Boolean
Dim nom As String

'**********************************
nom = "BDD"
 exist = False

 For Each wk In Worksheets
    If wk.Name = "BDD" Then
        exist = True
        Exit For
    End If
  Next wk
  If exist = False Then
   With ThisWorkbook
    Worksheets.Add.Name = "BDD"
    End With
   End If
 '*********************************

    Sheets("BDD").Select
    Cells.Select
    Selection.ClearContents
    Sheets("BDD").Cells(1, 1).Select
    Cells(1, 1).Value = "Feuille"
    Cells(1, 2).Value = "type"
    Cells(1, 3).Value = "ligne"
    Cells(1, 4).Value = "colonne"
    Cells(1, 5).Value = "valeur n-1"
    i = 2

    For Each sh In ThisWorkbook.Sheets

    If Not sh.Name = "BDD" And Not sh.Name = "Read me" Then
    Set FL1 = worksheets(sh.Name)

         ' *****************************

     Set Plage = Range("A1")

     While Range(Plage.End(xlDown).Address(rowabsolute:=False, columnabsolute:=False)).Value <> ""

     Set Plage = Range(Plage.End(xlDown).Address(rowabsolute:=False, columnabsolute:=False))
  Wend
    Set Plage = Range("A1:" & Plage.Address(rowabsolute:=False, columnabsolute:=False))

        For Each Cell In FL1

            Cells(i, 1).Value = FL1.Name
            Cells(i, 5).Value = Cell.Formula
            If VarType(Cell) = 8 Then
            Cells(i, 2).Value = "C"
            Else
            If VarType(Cell) = 5 Then
            Cells(i, 2).Value = "N"
            Else
            If VarType(Cell) = 10 Then
            Cells(i, 2).Value = "N"
            Else
            If VarType(Cell) = 0 Then
            Cells(i, 2).Value = "Non définie"
            End If
            End If
            End If
            End If
            Cells(i, 3).Value = Cell.Row
            Cells(i, 4).Value = Cell.Column
            i = i + 1
        Next
 End If
Next
    Set FL1 = Nothing
    Set Plage = Nothing
End Sub

Bonjour,

... je trouve bizarre et flippant pcq le code marche très bien quand il n'est pas sous macro complémentaire, ...

Une piste à étudier ...

Un .xla est aussi un fichier (workbook).

With ThisWorkbook Quel workbook ?

Ou encore For Each wk In Worksheets Les feuilles de quel workbook ?

Le xla ou le fichier à traiter.

Il y a risque de confusion ...

ric

Merci beaucoup pour ton retour

j'ai pu résoudre mon problème

bonne fin de journée

Rechercher des sujets similaires à "macro complementaire xla"