[VBA-E]Erreur lors d'une copie de cellules
Bonjour,
j'ai un pitit soucis :oops: ça fait 3heures qu eje suis sur le problème et je vois aps trop d'ou y vient :oops:
Voila en fait j'ai dans une feuille Excel plusieurs lignes :) et ces lignes sont en fait découpées par des lignes vides et donc découpées, si on peut dire en plage de cellules qu'il faut alors coller dans une autre feuille :)
Pour cela j'ai créé cette fonction pour trouver la ligne vide :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Function ligne_vide(nomF As String, debut As Integer) As Integer
'fonction qui renvoie le numero de la ligne vide
Dim f As Worksheet
Set f = Worksheets(nomF)
Dim k As Long
Dim w As Long
k = debut
w = debut
While f.Cells(w, 2).Value <> ""
k = k + 1
w = w + 1
Wend
ligne_vide = k
End Function |
Cette fonction renvoie donc un entier qui dit ou est la ligne suivante en lui indiquant d'ou on commence :)
Ensuite j'ai fait cette fonction, qui permet (normalement de "sélectionner" une plage) :
Code:
1 2 3 4 5 6 7 8
| Function plage_cellules(nomF As String, nombre_colonnes As Integer, debut_ligne As Integer) As Range
Dim f As Worksheet
Dim P As Range
Set f = Worksheets(nomF)
MsgBox (ligne_vide(nomF, debut_ligne))
Set P = f.Range(Cells(debut_ligne, 1), Cells(ligne_vide(nomF, debut_ligne), nombre_colonnes))
plage_cellules = P
End Function |
Donc ensuite je fais une procédure de test pour voir si ces fonctions fonctionnent :
Code:
1 2 3 4 5 6 7
| Sub test()
Application.Sheets.Add.Name = "test"
Application.ActiveSheet.Move after:=Sheets("base")
Dim f2 As Worksheet
Set f2 = Worksheets("test")
f2.Range("A1").Value = plage_cellules("base", 4, 8).Value
End Sub |
Donc comme vous le voyez ici, je créé donc une feuille appelée "test", je la met après l'autre feuille, puis je voudrais copier la plage de cellules dans cette nouvelle feuille :)
Mais lors de l'écution de cette macro, j'ai une erreur pendant l'éxécution de la fonction au dessus, qui "sélectionne" une plage de cellule :
J'ai erreur d'exécution '1004': la methode 'range' de l'objet "worksheet" a échoué :?
Est-ce que quelqu'un sait d'ou vient cette erreur ? :o parce que j'ai beau me trifougner la tete la je trouve pas :oops:
Merci beaucoup pour votre aide, en espérant avoir été assez clair dans mes explications :oops: :)