Suppression de lignes, les conditions se trouvant sur une autre feuille

Bonjour à tous,

Je n'ai quasiment aucune notion en VBA,

Je souhaiterai supprimer des lignes d'une feuille A, en fonction de condition d'une feuille B.

Une liste est présente sur une feuille B, avec une sélection à faire pour l'utilisateur en cochant "X" (voir ci-dessous) :

liste lots vba

Si le lot n'a pas été sélectionné, soit pas de "X" coché, je souhaiterai que cela supprime certaines lignes de la feuille A.

ex : si la case E2 de la feuille B est coché (charpente industrielle), suppression des lignes 60 à 80 de la feuille A.

Créer ensuite le même code pour les autre lots.

Si quelqu'un a la solution, cela m'aiderai grandement !

Merci d'avance,

Antoine

Up

Bonjour

Un exemple de ton fichier serait le bienvenu

Crdlt

Bonjour,

Ca fait déjà 5 minutes que tu n'as pas fait de up sur ta bouillie de pixels, donc je me permets de t'aider en en faisant un... Des fois qu'un magicien passe par-là...

Sinon, tu peux aussi poster un exemple de ton fichier pour qu'on puisse y voir plus clair. Parce que là c'est relativement incompréhensible tes trucs sur d'autres onglets...

Bonjour,

Désolé pour les "up", j'ai jamais posté sur un forum, je pensais pas que ca pouvais être perçu comme ca…

Je vous joint le fichier allégé.

Je souhaiterais trouver un code qui permet que :

- Lorsqu'un lot n'est pas sélectionné dans le tableau "sélection des lots", situé dans la feuille "Saisie de donnée", certaine lignes dans la feuille "outil chiffrage" se suppriment.

Exemple :

Le lot "charpente industrielle" n'est pas sélectionné, l'utilisateur ne met pas de "X" en face du lot.

Soit la case AE8 de la feuille "saisie de donnée" est vide.

--> Suppression des lignes 120 à 137 de la feuille "Outil de chiffrage".

C'est donc une boucle SI, mais je ne connais absolument pas le langage, et je ne trouve rien sur internet qui inclue le changement de feuille dans la boucle.

J'espère avoir été plus clair !

Antoine

Re,

C'est possible, oui. Mais je me demande quand même par quel moyen on peut savoir quelles lignes supprimer en fonction des critères. Si tu n'en dis pas plus, ni Excel ni nous n'étant médium, on va avoir du mal à savoir que "Charpete industrielle" correspond au bloc "fermeture industrielle".

Ok super !

La feuille "outil de chiffrage" est en réalité beaucoup plus longue, et malheureusement compréhensible que par moi même pour l'instant… De plus, il n'y a je pense aucun moyen d'identifier automatiquement les lignes a supprimer.

Je comptait rentrer un code par lot, en identifiant à chaque fois visuellement les lignes à supprimer.

Le lot "charpente industrielle" correspond bien au groupe "fermette industrielle",

Je souhaiterai donc avoir un exemple de code pour l'exemple "charpente industrielle" , que j'adapterais ensuite pour les autres lots,

Soit :

Début

SI la cellule AE8 de la feuille "saisie de donnée" affiche " " (aucun texte)

ALORS SUPPRIMER les cellules des lignes 120 à 137 de la feuille "outil chiffrage"

Fin

En vous remerciant pour votre temps,

Antoine

Alors,

une fois qu'on aura supprimé les données d'outil chiffrage, on les retrouvera comment ensuite, ces données ?

Je pense qu'il vaudrait mieux travailler sur une copie de cette feuille, non ?

Ensuite, le souci est que si on supprime les lignes 120 à 137, c'est bien.... Mais si ensuite il faut supprimer les lignes 212 à 250, ces lignes ne seront plus à cet endroit-là, d'autres lignes ayant été supprimées auparavant.

Bref, je pense que la méthode est à peaufiner avant de se lancer.

Cela dit, si tu veux t'amuser un peu, tu peux.

J'ai mis un bouton pour lancer la macro et intégré les lignes à supprimer juste à droite de la croix. La macro va chercher ces valeurs et supprime les lignes correspondantes. Il faudrait mettre plus de sécurités et de vérifications. C'est juste pour te montrer basiquement comment ça peut tourner.
Sub CIsuppression()
'
Dim plage As Range, suppr As String

Set plage = Feuil1.Range("AE5:AE19")
Sheets("outil chiffrage").Copy After:=Sheets(2): ActiveSheet.Name = "Devis chiffrage"

For Each cell In plage
    If cell = "" Then
        suppr = cell.Offset(, 1).Value
        With ActiveSheet
            .Rows(suppr).Delete
        End With
    Else: End If
Next
End Sub

Bonjour,

Un p'tit retour, non ??

Rechercher des sujets similaires à "suppression lignes conditions trouvant feuille"