Problème avec Excel
Résolu
Vbecker
Messages postés
11
Statut
Membre
-
Patrice33740 Messages postés 8930 Statut Membre -
Patrice33740 Messages postés 8930 Statut Membre -
Bonjour,
J'ai le tableau et j'aimerai le modifier à l'aide de macros. Les modifications consistent à supprimer certaines colonnes et lignes.
Pour les colonnes je suis bon.
En revanche, pour les lignes je n'arrive pas supprimer celle que je veux sans supprimer l'entête. J'ai l'impression qu'elles sont liées un un lien type arborescence et je ne sais pas comment l'enlever.
Si vous pouvez m'aider je serai vraiment content.
En espérant que j'ai été assez clair.
J'ai le tableau et j'aimerai le modifier à l'aide de macros. Les modifications consistent à supprimer certaines colonnes et lignes.
Pour les colonnes je suis bon.
En revanche, pour les lignes je n'arrive pas supprimer celle que je veux sans supprimer l'entête. J'ai l'impression qu'elles sont liées un un lien type arborescence et je ne sais pas comment l'enlever.
Si vous pouvez m'aider je serai vraiment content.
En espérant que j'ai été assez clair.
A voir également:
- Problème avec Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel trier par ordre croissant chiffre - Guide
5 réponses
Bonjour,
Essaies de mettre un grand miroir face à ton écran pour qu'on puisse voir à quoi ressemble ton fichier.
Si tu n'as pas de miroir, déposes un fichier avec des commentaires
sur https://www.cjoint.com/ ou sur https://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.
Tuto : Comment utiliser C.joint.fr
Essaies de mettre un grand miroir face à ton écran pour qu'on puisse voir à quoi ressemble ton fichier.
Si tu n'as pas de miroir, déposes un fichier avec des commentaires
sur https://www.cjoint.com/ ou sur https://mon-partage.fr/
et mets le lien obtenu dans ton prochain message.
Tuto : Comment utiliser C.joint.fr
Voici le code.
'Procédure de suppression de ligne
Sub SuppressionL()
'définition des variables
Dim c As Worksheet
Dim ligne_a_supp As Long
'identifier la feuille
Set c = Worksheets("Sheet1")
'identifier colonne à supprimer + ordre de suppression
ligne_a_supp = 15
c.Cells(ligne_a_supp, 1).EntireRow.Delete
End Sub
C'est que le début de ce que je compte faire. Mais déjà je ne comprends pourquoi Excel m'indique une erreur sur le ligne c.Cells(ligne_a_supp, 1).EntireRow.Delete.
'Procédure de suppression de ligne
Sub SuppressionL()
'définition des variables
Dim c As Worksheet
Dim ligne_a_supp As Long
'identifier la feuille
Set c = Worksheets("Sheet1")
'identifier colonne à supprimer + ordre de suppression
ligne_a_supp = 15
c.Cells(ligne_a_supp, 1).EntireRow.Delete
End Sub
C'est que le début de ce que je compte faire. Mais déjà je ne comprends pourquoi Excel m'indique une erreur sur le ligne c.Cells(ligne_a_supp, 1).EntireRow.Delete.
Bonjour
pour supprimer une ligne
ligne_a_supp = 15
Rows(ligne_a_supp).delete
principe à adapter à ta macro
pour supprimer une ligne
ligne_a_supp = 15
Rows(ligne_a_supp).delete
principe à adapter à ta macro
Il est préférable de prendre la bonne habitude de préciser le parent (la feuille) du range (du Rows) soit :
Pourquoi ?
- Car en absence de parentalité, la commande s'applique sur le parent actif (ici la feuille active) qui n'est pas toujours celle sur laquelle on veut agir.
- Cela évite d'utiliser .Select qui est inutile, très chronophage et source d'erreurs.
- De plus il ne faut pas oublier que tu travailles dans un environnement multitâche et qu'une autre tache peut changer la feuille active, ce qui dans ce cas aurait pour conséquence de supprimer une ligne sur une autre feuille.
Set c = Worksheets("Sheet1")
ligne_a_supp = 15
c.Rows(ligne_a_supp).Delete
Pourquoi ?
- Car en absence de parentalité, la commande s'applique sur le parent actif (ici la feuille active) qui n'est pas toujours celle sur laquelle on veut agir.
- Cela évite d'utiliser .Select qui est inutile, très chronophage et source d'erreurs.
- De plus il ne faut pas oublier que tu travailles dans un environnement multitâche et qu'une autre tache peut changer la feuille active, ce qui dans ce cas aurait pour conséquence de supprimer une ligne sur une autre feuille.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Essaie de faire un pas à pas du déroulement de ton bout de code, et regarde la valeur qu'il prend pour chacune de variables, et voir pourquoi il accroche sur cette commande.
Sinon, tu te branches sur "Enregistrer Macro", tu exécutes à la main les différents ordres que tu veux voir exécuter par ta macro, et une fois l'enregistrement fini, tu regardes comment lui, écrit le code. Perso, je n'ai jamais appris le VBA ni écrit une ligne de code directement, j'ai toujours procéder comme ça. Et à la fin, je faisais le ménage de tout ce qui n'était pas utile à la bonne marche de la macro.
Essaie de faire un pas à pas du déroulement de ton bout de code, et regarde la valeur qu'il prend pour chacune de variables, et voir pourquoi il accroche sur cette commande.
Sinon, tu te branches sur "Enregistrer Macro", tu exécutes à la main les différents ordres que tu veux voir exécuter par ta macro, et une fois l'enregistrement fini, tu regardes comment lui, écrit le code. Perso, je n'ai jamais appris le VBA ni écrit une ligne de code directement, j'ai toujours procéder comme ça. Et à la fin, je faisais le ménage de tout ce qui n'était pas utile à la bonne marche de la macro.
