Définition d'un objet Range lève une erreur 1004 "La méthode Range de l'objet _Worksheet a échoué"
Bonjour à tous,
Je suis en train de criser dans mon coin sur une ligne de code toute bête que j'ai utilisé des centaines de fois, qui, aujourd'hui, n'a pas l'heur de fonctionner...:aie:
Le programme rajoute des lignes d'un classeur source (opérations validées) sur un autre (GlobalVolume). Je passe par une variable tableau pour copier les informations qui m'intéressent dans le classeur cible.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
Dim wbGlobalVolume As Workbook, wbClasseurBDD As Workbook
Dim wsBDD As Worksheet, wsVolumeDoc As Worksheet, wsHistoStatutDoc As Worksheet, wsNew As Worksheet
Dim rgePlage As Range, rgeEventDate As Range, rgeDernEventDate As Range, rgeDest As Range, rgeCopie As Range, _
rgePlageNew As Range
Dim bytDerCol As Byte
Dim strFichierBDD As String, strMiroir As String
Dim dteEventDate As Date, dteDernEventDate As Date
Dim lngDerLigne As Long, i As Long, j As Long
Dim TabBDD() As Variant, TabEOV() As Variant
Set wbGlobalVolume = ThisWorkbook
Set wsVolumeDoc = wbGlobalVolume.Sheets("VolumeDoc")
Set wbClasseurBDD = Workbooks.Open(CHEMIN + strFichierBDD)
Set wsBDD = wbClasseurBDD.Sheets(1)
Set wsNew = wbGlobalVolume.Sheets.Add
wsNew.Name = "NouvellesOpés"
...
'copie les nouvelles opés dans un tableau
Set rgePlageNew = wsNew.UsedRange
ReDim TabEOV(1 To rgePlageNew.Rows.Count, 1 To rgePlageNew.Columns.Count)
TabEOV = rgePlageNew.Value
'colle les nouvelles opés dans VolumeDoc
Set rgePlage = wsVolumeDoc.UsedRange
lngDerLigne = rgePlage.Rows.Count
bytDerCol = rgePlage.Columns.Count
'copie les formats de la dernière ligne sur la plage ajoutée qui correspond aux nouvelles opérations
Set rgeCopie = wsVolumeDoc.Range(Cells(lngDerLigne, 1), Cells(lngDerLigne, bytDerCol))
rgeCopie.Copy
... |
Et là je me récupère une erreur 1004... Or, mon objet worksheet est défini, et le Range n'a rien de sorcier, il s'agit juste de la dernière ligne remplie de l'onglet VolumeDoc du classeur GlobalVolume...
Quelqu'un a une idée ? Merci d'avance pour votre aide.
Guillaume
une erreur parmis tant d'autre
Bonjour
déjà ta méthode génère une erreur qui ne sera pas révélée
ceci:
Code:
1 2 3 4
|
Set rgePlage = wsVolumeDoc.UsedRange
lngDerLigne = rgePlage.Rows.Count
bytDerCol = rgePlage.Columns.Count |
te donne le nombre de ligne contenu dans ta plage mais si ta plage commence pas en A1 c'est donc faux et pareil pour les colonnes
sert toi de .end(xlup).rows sur la colonne de ton choix
commence déjà par ca on verra après je regarderais demain de plus près
ensuite
il y a une autre méthode pour ce genre de travail a tu déjà entendu parler des variables tableaux
si non fait une petite recherche
a plus tard