Bonjour à tous,
Voici mon problème :
J'ai deux fichiers Excel : Fichier_1.xls et Fichier_2.xls. Le Fichier_1 comporte deux feuilles : Exploitation et Feuille_2. Le Fichier_2 ne comporte qu'une seule feuille : Données.
La feuille Exploitation rassemble des données de la feuille Données (laquelle est mise à jour quotidiennement).
La feuille_2 possède des graphes dont les données sont issues de la feuille Exploitation. A coté des graphes j'ai mis un bouton de commande qui permet de mettre la feuille Exploitation à jour à partir du Fichier_1.
Voici la partie du code du bouton qui me pose souci :
Private Sub CommandButton3_Click()
Dim D As Long
Dim E As String
Dim P1 As Range
' On ouvre le fichier
Workbooks.Open Filename:= _
"SERVEUR\Fichier_2.xls"
Sheets("Exploitation").Activate
' On recherche la ligne où l'expression "P1" se trouve qui sert de référence pour trouver toutes les données dans le tableau
Sheets("Exploitation").Range("A4").Select
With Worksheets("Exploitation").Range("A7:A20")
'D = .Find("P1", LookIn:=xlValues).Column
Set P1 = .Find(What:="P1", LookIn:=xlValues)
End With
If P1 Is Nothing Then
MsgBox ("La case 'P1' dans le tableau du fichier n'a pas été trouvée. Veuillez vérifier l'état du tableau.")
Exit Sub
End If
D = P1.Row
' On mémorise le numéro de la première semaine du tableau
E = Worksheets("Exploitation").Cells(6, 2).Value
' On copie les valeurs des encours pour les plateaux P1 à P4
Sheets("Exploitation").Range(Cells(D, 2), Cells(D + 3, 256).End(xlToLeft).Offset(0, -1)).Select
Selection.Copy
End Sub
J'obtiens l'erreur "Erreur d'exécution '1004': Erreur définit par l'application ou par l'objet" à la ligne :
ctiveSheet.Range(Cells(D, 2), Cells(D + 3, 256).End(xlToLeft).Offset(0, -1)).Select
Quelqu'un pourrait-il m'éclairer?
Merci d'avance.