Code qui ne s'execute que partiellement

Résolu
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014 - 26 juil. 2008 à 18:29
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 27 juil. 2008 à 16:43
Bonsoir,
Je voudrais effacer le contenu et le format des cellules mais mon code ci dessous ne s'exécute que partiellement. Je voudrais savoir pourquoi. Si quelqu'un veut bien m'aider je l'en remercie vivement.
Voici mon code :

Sub ViderFeuilleB600()
Worksheets("B600").Activate
Dim y_debut_salaire, y_fin_salaire As Integer
Dim y_debut_charge, y_fin_charge As Integer
Dim y As Integer


y = 8

'Ici nous supprimons le format et le contenu des dates des exercices

Sheets("b600").Range("c" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats



'ici nous supprimonsle contenu des cellules salaire et leur format
y = y + 2


Do While Sheets("b600").Cells(y, 1).Value <> "" ' boucle tant que la cellule est non vide
Sheets("b600").Range("a" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats
y = y + 1

Loop

' Ici nous supprimons les cellules "total"

y = y + 2

Sheets("b600").Range("a" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats

' Ici nous supprimons les charges
y = y + 1


Do While Sheets("b600").Cells(y, 1).Value <> "" ' boucle tant que la cellule est non vide
Sheets("b600").Range("a" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats
y = y + 1

Loop

' Ici nous supprimons le total des charges
y = y + 2

Sheets("b600").Range("a" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats

' ici nous supprimons le taux moyen de charges

y = y + 2

Sheets("b600").Range("a" & y & ":d" & y).Select
Selection.ClearContents
Selection.ClearFormats

Sheets("b600").Range("f" & y & ":g" & y).Select
Selection.ClearContents
Selection.ClearFormats

End Sub

8 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 juil. 2008 à 11:17
Ok
Récapitulons :
D'après ton programme, tu effaces :
   Ligne 8                      C-D et F-G
   De ligne 10 à 10+x           A-D et F-G

Une fois que tu es sorti de la boucle Do-Loop, "y" pointe sur une ligne qui est vide.
Donc le Y+2 qui suit veut dire que tu laisses 2 lignes vides avant de continuer.
C'est Ok ça ?
   Ligne 10+x+2                 A-D et F-G
   De ligne 10+x+3 à 10+x+3+t   A-D et F-G
Même remarque que ci-dessus

   Ligne 10+x+3+t+2             A-D et F-G
   Ligne 10+x+3+t+4             A-D et F-G

Voilà un exemple de données et les valeurs de "y" (exemple que tu aurais dû donner dans tes explications si tu avais voulu être clair et gagner du temps, le tien et le nôtre)

Ligne   Contenu                
8       Dates des excercices
9       vide
10      Salaires   \
11      Salaires   |   Nombre de lignes inconnu
12      Salaires   |
13      Salaires   /
14      vide
15      vide
16      Total
17      vide
18      Charges   \
19      Charges   |
20      Charges   |   Nombre de lignes inconnu
21      Charges   |
22      Charges   /
23      vide
24      vide
25      Total charges
26      vide
27      Taux moyen charges

Est-ce cohérent avec ce que tu as sous les yeux ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 juil. 2008 à 19:13
Salut
Partiellement, ça veut dire quoi ?
Que devrait-il se passer ?
Que ne se passe t-il pas ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
26 juil. 2008 à 20:02
Sur la feuille, les cellules s'effacent sur 2, 3 lignes et puis plus rien
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 juil. 2008 à 20:50
Quelles précisions
Avec ce genre de renseignement, on va aller loin ...
Si ce n'est pas trop te demander (si tu veux toujours qu'on tente de trouver la raison du problème), quelles sont les cellules vidées ?
Où s'arrête t-il ?
Dasn ton programme, tu fais référence à plusieurs colonnes et lignes :
C-D, F-G, puis A-D ...
Lesquelles sont-elles vidées ?
Jusqu'où ton programme semble t-il marcher ?
As-tu revu la valeur de Y pour vérifier que que son évolution coïncide bien avec tes lignes de données ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
27 juil. 2008 à 00:21
En l'etat les cellules effacées correspondent à la ligne 8 soit les cellules c8 à d8 et f8 à g8 et c'est tout
0
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
27 juil. 2008 à 00:41
Je viens de vérifier la valeur de y et j'arrive à pratiquement tout effacer sauf les lignes qui ne comportent pas de valeur mais qui sont formatées et qui se situent à la ligne 12 et 23
0
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
27 juil. 2008 à 14:50
Ok merci Jack ça marche
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 juil. 2008 à 16:43
Ok, tant mieux
Qu'y avait-il comme problème ?
0
Rejoignez-nous