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

Erreur 91 - Pourquoi ?

MarcMad

XLDnaute Nouveau
Bonjour,

J'ai le code d'erreur 91 et je ne comprend pas pourquoi.

Sub Autofill()

Dim Compos_1 As String
Dim Compos_2 As String
Dim Début_Ligne As Long
Dim Début_Colonne As Long
Dim Fin_Ligne As Long
Dim Fin_Colonne As Long
Dim Plage_Compos As Range

With Worksheets("Cost list").Range("A1:G500")

.Find("Project").Offset(0, 1).Copy _
Destination:=Worksheets("Estimation Rapide").Range("T3:X3") 'Nom du projet

.Find("Client").Offset(0, 1).Copy _
Destination:=Worksheets("Estimation Rapide").Range("F3:Q3") ' Nom du client

'----------------------------------Range_des_Compos---------------------------------------

Début_Ligne = .Find("Walls").Offset(1, 0).Row
Début_Colonne = .Find("Walls").Offset(1, 0).Column

Fin_Ligne = .Find("Detailed by components").Offset(-1, 6).Row
Fin_Colonne = .Find("Detailed by components").Offset(-1, 6).Column

ICI -> Plage_Compos = .Range(Cells(Début_Ligne, Début_Colonne), Cells(Fin_Ligne, Fin_Colonne))

End With

'----------------------------------Compos_1---------------------------------------

With Worksheets("Cost list").Range(Plage_Compos)

Compos_1 = .Find("Walls").Offset(1, 0) 'Compos_1

Worksheets("Estimation rapide").Range("C6") = Mid(Compos_1, 1, 1)
Worksheets("Estimation rapide").Range("D6") = Mid(Compos_1, 2, 1)
Worksheets("Estimation rapide").Range("E6") = Mid(Compos_1, 3, 1)
Worksheets("Estimation rapide").Range("F6") = Mid(Compos_1, 4, 1)
Worksheets("Estimation rapide").Range("G6") = Mid(Compos_1, 5, 1)
Worksheets("Estimation rapide").Range("H6") = Mid(Compos_1, 6, 1)
Worksheets("Estimation rapide").Range("I6") = Mid(Compos_1, 7, 1)
Worksheets("Estimation rapide").Range("J6") = Mid(Compos_1, 8, 1)
Worksheets("Estimation rapide").Range("K6") = Mid(Compos_1, 9, 1)
Worksheets("Estimation rapide").Range("L6") = Mid(Compos_1, 10, 1)
Worksheets("Estimation rapide").Range("M6") = Mid(Compos_1, 11, 1)
Worksheets("Estimation rapide").Range("N6") = Mid(Compos_1, 12, 1)
Worksheets("Estimation rapide").Range("O6") = Mid(Compos_1, 13, 1)
 

mapoire

XLDnaute Nouveau
Bonsoir,

Plage_Compos est déclaré comme un objet de type Range.
Pour y affecter un autre range (et d'ailleurs pour toute variable de type objet), on utilise pour l'affectation:
Set Plage_Compos = .Range(Cells(D.....
 

MarcMad

XLDnaute Nouveau
Merci maintenant sa bloque ici

Sub Autofill()

Dim Compos_1 As String
Dim Compos_2 As String
Dim Début_Ligne As Long
Dim Début_Colonne As Long
Dim Fin_Ligne As Long
Dim Fin_Colonne As Long
Dim Plage_Compos As Range

With Worksheets("Cost list").Range("A1:G500")

.Find("Project").Offset(0, 1).Copy _
Destination:=Worksheets("Estimation Rapide").Range("T3:X3") 'Nom du projet

.Find("Client").Offset(0, 1).Copy _
Destination:=Worksheets("Estimation Rapide").Range("F3:Q3") ' Nom du client

'----------------------------------Range_des_Compos---------------------------------------

Début_Ligne = .Find("Walls").Offset(1, 0).Row
Début_Colonne = .Find("Walls").Offset(1, 0).Column

Fin_Ligne = .Find("Detailed by components").Offset(-1, 6).Row
Fin_Colonne = .Find("Detailed by components").Offset(-1, 6).Column

Set Plage_Compos = .Range(Cells(Début_Ligne, Début_Colonne), Cells(Fin_Ligne, Fin_Colonne))

End With

'----------------------------------Compos_1---------------------------------------

With Worksheets("Cost list").Range("Plage_Compos")

ICI --> Compos_1 = .Find("Walls").Offset(1, 0) 'Compos_1

Worksheets("Estimation rapide").Range("C6") = Mid(Compos_1, 1, 1)
Worksheets("Estimation rapide").Range("D6") = Mid(Compos_1, 2, 1)
Worksheets("Estimation rapide").Range("E6") = Mid(Compos_1, 3, 1)
Worksheets("Estimation rapide").Range("F6") = Mid(Compos_1, 4, 1)
Worksheets("Estimation rapide").Range("G6") = Mid(Compos_1, 5, 1)
Worksheets("Estimation rapide").Range("H6") = Mid(Compos_1, 6, 1)
Worksheets("Estimation rapide").Range("I6") = Mid(Compos_1, 7, 1)
Worksheets("Estimation rapide").Range("J6") = Mid(Compos_1, 8, 1)
Worksheets("Estimation rapide").Range("K6") = Mid(Compos_1, 9, 1)
Worksheets("Estimation rapide").Range("L6") = Mid(Compos_1, 10, 1)
Worksheets("Estimation rapide").Range("M6") = Mid(Compos_1, 11, 1)
Worksheets("Estimation rapide").Range("N6") = Mid(Compos_1, 12, 1)
Worksheets("Estimation rapide").Range("O6") = Mid(Compos_1, 13, 1)
 

mapoire

XLDnaute Nouveau
Re,

Essayez de remplacer :
With Worksheets("Cost list").Range("Plage_Compos")
par
With Plage_Compos

Puisque Plage_Comps est déjà le range qui vous intéresse. Vous l'avez défini deux lignes au-dessus.
 

soan

XLDnaute Barbatruc
Inactif
edit : je m'suis trompé : j'ai confondu mapoire et mapomme !

bon, au moins, le rayon des fruits est bien rempli, lollllll !
(j'espère que le rayon des légumes est plein aussi !)


soan
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…