Étant débutant en VBA je rencontre un problème lors de la création d'une de mes macros.
J'ai crée une macro me permettant de copier une partie d'un autre fichier excel et de le coller dans une page précise d'un autre fichier excel. Toutefois lorsque j'ai crée une autre macro excel reprenant quasiment la même structure que celle fonctionnant je me retrouve avec une erreur 91 quand je souhaite rendre actif mon classeur. Je n'ai quasi rien changer dans ce code ci donc je ne comprend pas d'où proviens mon erreur. Pourriez vous m'aidez ?
Sub BDD_update()
Dim QuelFichier
QuelFichier = Application.GetOpenFilename("Excel, *.xlsm")
If QuelFichier <> False Then
Paste (QuelFichier)
Else
MsgBox "Vous n'avez pas sélectionné de fichier"
End If
End Sub
Sub Paste(QuelFichier)
Dim nomUn As Workbook
Dim NewBook As Workbook
Set nomUn = ThisWorkbook
Dim i As Integer, a As Integer
Dim nCells As Integer
i = 1
Set NewBook = Workbooks.Open(QuelFichier)
NewBook.Activate
Do
If Cells(i, 3).Value() <> "" Then
i = i + 1
ElseIf Cells(i, 3).Value() = "" And nCells < 1 Then
lRow = i - 1
nCells = nCells + 1
i = i + 1
ElseIf Cells(i, 3).Value() = "" And nCells = 1 Then
Sheets("eptica").Range(Cells(456, 1), Cells(i - 1, 4)).Copy
End If
Loop While nCells <> 2
nomUn.Activate
Worksheets("BDD").Range("B4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
NewBook.Close False
End Sub
si ton erreur surgit sur le activate en ligne 42, supprime cette ligne: tu peux faire le PasteSpecial en spécifiant ton workbook directement, sans l'activer
Edit: et c'est quoi le "quasi rien de changer" ? ce quasi rien peut être la cause de l'erreur.
Edit2: dans ta boucle, les Cells(..) font référence à la feuille active de ton classeur actif (si tu n'as qu'une seule feuille, pas de souci, si tu as en a plusieurs, ce n'est peut-être pas la bonne feuille d'ouverte)
- Edité par umfred 13 juin 2022 à 18:20:32
VBA - Erreur 91 avec un classeur en variable
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.