Macro pour effacer des lignes selon valeur cellule
Résolu
Irie973
-
Irie973 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Irie973 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai effacer un groupe de lignes sur une feuille selon la valeur d'une cellule se trouvant sur une autre feuille.
Voici la routine. Est'ce que quelqu'un peut m'aider avec la macro que j'aimerais attaché a un bouton. Merci d'avance...
Si H7=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 1 à 77 sur feuille "REPARTITION TPS ET HONO"
Si H8=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 78 à 152 sur feuille "REPARTITION TPS ET HONO"
Si H9=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 153 à 228 sur feuille "REPARTITION TPS ET HONO"
Si H10=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 229 à 379 sur feuille "REPARTITION TPS ET HONO"
Si H11=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 380 à 456 sur feuille "REPARTITION TPS ET HONO"
Si H12=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 457 à 532 sur feuille "REPARTITION TPS ET HONO"
Si H13=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 533 à 609 sur feuille "REPARTITION TPS ET HONO"
Si H14=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 610 à 686 sur feuille "REPARTITION TPS ET HONO"
Si H15=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 687 à 763 sur feuille "REPARTITION TPS ET HONO"
Si H16=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 764 à 840 sur feuille "REPARTITION TPS ET HONO"
Merci beaucoup de votre aide.
Je souhaiterai effacer un groupe de lignes sur une feuille selon la valeur d'une cellule se trouvant sur une autre feuille.
Voici la routine. Est'ce que quelqu'un peut m'aider avec la macro que j'aimerais attaché a un bouton. Merci d'avance...
Si H7=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 1 à 77 sur feuille "REPARTITION TPS ET HONO"
Si H8=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 78 à 152 sur feuille "REPARTITION TPS ET HONO"
Si H9=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 153 à 228 sur feuille "REPARTITION TPS ET HONO"
Si H10=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 229 à 379 sur feuille "REPARTITION TPS ET HONO"
Si H11=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 380 à 456 sur feuille "REPARTITION TPS ET HONO"
Si H12=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 457 à 532 sur feuille "REPARTITION TPS ET HONO"
Si H13=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 533 à 609 sur feuille "REPARTITION TPS ET HONO"
Si H14=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 610 à 686 sur feuille "REPARTITION TPS ET HONO"
Si H15=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 687 à 763 sur feuille "REPARTITION TPS ET HONO"
Si H16=0 sur feuille "PARAMETRE HONORAIRE" alors effacer ligne 764 à 840 sur feuille "REPARTITION TPS ET HONO"
Merci beaucoup de votre aide.
A voir également:
- Macro pour effacer des lignes selon valeur cellule
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
- Excel couleur cellule selon valeur - Guide
- Partager des photos en ligne - Guide
- Proteger cellule excel - Guide
6 réponses
Bonjour,
@Irie973 : ce que tu veux faire est assez farfelu car si tu supprimes un paquet de lignes, celles qui sont derrière vont prendre la place et donc au second passage le dégât sera assez terrible mais si tu as bien réfléchi à ton projet, voici une procédure qui le fait.
@ccm81 : bon dimanche à toi.
@Irie973 : ce que tu veux faire est assez farfelu car si tu supprimes un paquet de lignes, celles qui sont derrière vont prendre la place et donc au second passage le dégât sera assez terrible mais si tu as bien réfléchi à ton projet, voici une procédure qui le fait.
Public Sub sup_lignes() Dim idx As Long, lgs As Variant lgs = Array(1, 75, 153, 229, 380, 457, 533, 610, 687, 764, 841) For idx = 16 To 7 Step -1 If Sheets("PARAMETRE HONORAIRE").Range("H" & idx).Value = 0 Then Sheets("REPARTITION TPS ET HONO").Rows(lgs(idx - 7)).Resize(lgs(idx - 6) - lgs(idx - 7)).Delete End If Next idx End Sub
@ccm81 : bon dimanche à toi.
Bonjour
Quand tu dis "effacer les lignes", tu entends
1. Effacer le contenu des lignes (sans les supprimer)
2. Supprimer les lignes
Cdlmnt
Quand tu dis "effacer les lignes", tu entends
1. Effacer le contenu des lignes (sans les supprimer)
2. Supprimer les lignes
Cdlmnt
1. Avec ton code j'obtiens ce message d'erreur : Erreur d’exécution '13' : incompatibilité de type.
avec mon fichier ou avec le tien ?
2. Peux tu faire en sorte que le code s'execute de H16 à H7 stp
La macro commence la suppression des lignes par la fin
CDlmnt
avec mon fichier ou avec le tien ?
2. Peux tu faire en sorte que le code s'execute de H16 à H7 stp
La macro commence la suppression des lignes par la fin
CDlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolé
une erreur dans la déclaration des variables tliste au lieu de tliste()
Dim li As Long, cel As Range, liste As String, tliste, k As Long
Cdlmnt
une erreur dans la déclaration des variables tliste au lieu de tliste()
Dim li As Long, cel As Range, liste As String, tliste, k As Long
Cdlmnt
Mais la propositon de gbinforme (salut bà toi) est nettement plus simple et fonctionne bien
Avec ton code j'obtiens ce message d'erreur : Erreur d’exécution '9' : L'indice n'appartient pas a la sélection. Sais tu comment le résoudre?
Merci.
1/ si la cellule H6 est = 0 dans "PARAMETRES HONORAIRES" alors supprimer les feuilles "ESTIM. DIAG" et "REPARTITION TPS ET HONO DIAG"
2/ si seule la cellule H6 est différente de 0 dans le domaine H6 à H16. Alors supprimer la feuille "REPARTITION TPS ET HONO MOE".
Possible?
Merci encore...
Peux tu faire en sorte que le code parte de la fin stp? Cad de H16 à H7
C'est bien le cas sinon les suppressions de lignes sont hasardeuses !
1/ si la cellule H6 est = 0
2/ si seule la cellule H6 est différente de 0 dans le domaine H6 à H16
Voici la macro avec ces nouvelles demandes :