Voila j'ai un problème avec ma fin de fichier. Mon code marche super bien, mais dans mon fichier, quelqu'un a rajouter une colonne a formule plus bas que la ou je voudrais qui est la cellule ou est écrit "ne pas supprimer ces lignes".
Pour l'instant mon code descend jusqu'a la dernière ligne occupé du fichier ce qui la me gene un peu. J'ai tenté une modification avec une boucle while mais VBA m'envoit pété il me met une autre ligne en erreur alors qu'elle marche bien.
Voici mon code, je suis toujours preneuse d'idée:
Et donc je voudrais lui dire d'aller jusqu'a veuillez ne pas supprimer ces lignes, mais comme je disais quand j'ai tenté une boucle while il m'a mise en erreur sir la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38 Sub Bouton11950_QuandClic() 'Déclaration des variables' Dim NumCol, derniereligneupit, ColonneRepere, DerLigne As Integer Dim sh As Worksheet DerLigne = derniereligneupit derniereligneupit = 17 ColonneRepere = 28 'Désactivation des filtres' Set sh = Workbooks("Synthese_type_01.xls").Worksheets("Feuille principale") If sh.FilterMode Then sh.ShowAllData 'Arreter la boucle infinie' While Workbooks("Synthese_type_01.xls").Worksheets("Feuille principale").Cells(derniereligneupit, ColonneRepere) <> "Veuillez ne pas supprimer ces lignes " derniereligneupit = derniereligneupit + 1 If derniereligneupit > 1000 Then MsgBox ("Arrêt du traitement: boucle infinie") Exit Sub End If Wend 'Définir la spécialité de la celulle, et jusqu'a quelle celulle il doit prendre le modèle' derniereligne = Range("IF567").SpecialCells(xlCellTypeLastCell).Row 'De la colonne 36 à la 256' For NumCol = 36 To 256 'Test si = dans cellule, sinon rien ' If Left(Cells(20, NumCol).Formula, 1) = "=" Then 'Balaie chaque cellule de la ligne 20 pour chaque colonne' Range(Cells(20, NumCol), Cells(derniereligne, NumCol)).FillDown End If Next NumCol End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range(Cells(20, NumCol), Cells(derniereligne, NumCol)).FillDown
Partager