Bonjour,
j'ai un pitit soucisça fait 3heures qu eje suis sur le problème et je vois aps trop d'ou y vient
Voila en fait j'ai dans une feuille Excel plusieurs ligneset 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 :
Cette fonction renvoie donc un entier qui dit ou est la ligne suivante en lui indiquant d'ou on commence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Ensuite j'ai fait cette fonction, qui permet (normalement de "sélectionner" une plage) :
Donc ensuite je fais une procédure de test pour voir si ces fonctions fonctionnent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Merci beaucoup pour votre aide, en espérant avoir été assez clair dans mes explications![]()
![]()
Partager