Erreur 91 ouverture d'un fichier lecture,fermeture
n
Bonjour à tous,
Thauthème m'a donné un code pour ouvrir un excel, prendre les informations que je veux puis le fermer mais il ne marche pas sur mon fichier je ne comprends pas...
Je vous demande de l'aide pour résoudre cette erreur d'exécution 91 : Variable objet ou variable ou variable de bloc With non définie sur la ligne ORF = CRF.Sheets("PARTS") qui se trouve au milieu de ma macro juste après l'ouverture du document.
Je vous remercie tous d'avance
Sub info_master()
Dim CD As Workbook 'déclare la variable CD (Classeur de Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet de Destination)
Dim CRF As Workbook 'déclare la variable CRF (Classeur de ReFérence)
Dim ORF As Worksheet 'déclare la variable ORF (Onglet de ReFérence)
Dim I As Integer ''déclare la variable I (Incrément)
Set CD = ThisWorkbook 'définit le classeur de destination CD (=ce classeur)
Set OD = CD.Sheets("Menu") 'définit l'onglet de destination OD
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set CRF = Workbooks("DATAS.xlsx") 'définit le classeur de référence CRF (génère une erreur si ce classeur n'est pas ouvert)
If Err <> 0 Then 'condition : si une erreur a été générée
Err.Clear 'supprime l'erreur
'ouvre le classeur
Workbooks.Open ("C:\Users\Nicky\Desktop\Project 4_Informatisation\EXAMPLE SUR INTERNET\DATA FROM DDM\DATAS.xlsx")
Set CRF = ActiveWorkbook 'définit le classeur de référence CRF
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
ORF = CRF.Sheets("PARTS") 'définit l'onglet de référence ORF
If Not IsEmpty(OD.Range("D2")) Then 'condition : si D2 de l'onglet OD n'est pas vide
I = 2 'initialise I
'tant que la cellule ligne I, colonne 1 (=A) de l'onglet de référence ORF n'est pas vide
'et qu'elle est différente de la cellule D2 de l'onglet OD
While ORF.Cells(I, 1) <> "" And ORF.Cells(I, 1) <> OD.Range("D2")
I = I + 1 'incrémente I
Wend 'exécute la boucle
OD.Range("D2") = ORF.Cells(I, 1) 'récupère en D2 de l'onglet OD la valeur de la cellule ligne I colonne 1 (=A) de l'onglet ORF
OD.Range("E2") = ORF.Cells(I, 4) 'récupère en E2 de l'onglet OD la valeur de la cellule ligne I colonne 4 (=D) de l'onglet ORF
OD.Range("G2") = ORF.Cells(I, 3) 'récupère en G2 de l'onglet OD la valeur de la cellule ligne I colonne 3 (=C) de l'onglet ORF
CRF.Close False 'ferme le classeur de référence CRF sans enregistrer les modification
CD.Save 'sauve le classeur de destination CD (ce classeur
End If
End SubBonsoir
Il faut
Set ORF = CRF.Sheets("PARTS")Bien entendu tu as une page "PARTS" dans le classeur que tu ouvres
n
Bonjour,
Oubli simple mais pas voyante quand on a la tête dans le guidon et surtout quand on apprend les macros
Merci beaucoup Banzai !
Au plaisir.