FileCopy - error Path not found

Bonjour à tous,

Je souhaiterais copier un fichier dans un dossier si la valeur de la colonne B (de la feuille 1) est FALSE.

Pour ce faire, j'ai utilisé la fonction FileCopy de VB.

Sauf que lorsque je lance ma macro, j'ai l'erreur ci-dessous qui s'affiche:

error76

Or, j'ai bien déclaré mon chemin source et destination dans des variables de type STRING.

Pourriez-vous me dire ce qui n'est pas correcte dans ma macro, s'il vous plaît?

Merci par avance pour votre aide.

Bonjour,

Es-tu bien sûr de C:\Users\Desktop\6221266.pdf ?

Ou ... ne serait-ce pas .... C:\Users\Black_Hole\Desktop\6221266.pdf ??

ric

Bonjour @ric,

En effet, j'ai anonymisé mon fichier sur le forum.

Dans le classeur original, j'ai bien mon user devant Desktop.

Du coup, je ne sais pas ce qui pose problème dans ma macro.

Merci par avance pour votre aide.

Bonjour,

Je souhaiterais copier un fichier dans un dossier si la valeur de la colonne B (de la feuille 1) est FALSE.

Je comprends que si la valeur de B est VRAI, l'on ne copie pas le fichier. Est-ce bien cela ?

Je demande car présentement, il n'y a pas de test si B est Vrai ou Faux.

ric

Re @ric,

Je comprends que si la valeur de B est VRAI, l'on ne copie pas le fichier. Est-ce bien cela ?

Oui.

Je demande car présentement, il n'y a pas de test si B est Vrai ou Faux.

Le test a pour but d'identifier les valeurs existantes ou pas.

Pensez-vous que c'est à cause du test if que la fonction FileCopy ne fonctionne pas dans ma macro?

Par avance, merci pour votre aide.

Bonjour,

ColRef.Row n'existe pas, c'est rng.Row qu'il faut utiliser.

Ceci fonctionne ... il restera à corriger le nom du profil ...

Il y a aussi la recherche sur B en Feuil2.

Sub MatchName()

Dim x As Worksheet, y As Worksheet
Dim rng As Range
Dim iLast As Long
Dim iCounter As Integer
Dim Source, Destination As String

    Set x = Worksheets("Sheet1")
    Set y = Worksheets("Sheet2")

    iLast = x.Range("A" & Application.Rows.Count).End(xlUp).Row
    Application.ScreenUpdating = False
    For iCounter = 2 To iLast

        On Error Resume Next
        Set rng = y.Range("B:B").Find(x.Range("A" & iCounter).Value)
        If Not rng Is Nothing Then
            If x.Cells(iCounter, 2).Value = False Then
                Source = y.Cells(rng.Row, "C").Value
                Destination = "C:\Users\Black_Hole\Desktop\OUTPUT\" & y.Cells(rng.Row, "A").Value
                FileCopy Source, Destination
            End If
        Else
            x.Cells(iCounter, 2).Value = "TRUE"
        End If
    Next iCounter
    Application.ScreenUpdating = True
End Sub

ric

Re @ric,

Excellent, la ligne qui permet d'éviter l'erreur est "On resume Next".

Milles mercis pour votre aide et votre réactivité.

ric

Rechercher des sujets similaires à "filecopy error path found"