Suppression de lignes

Bonjour à tous,

J'ai dans mon tableau Excel 2 feuilles (Parc Cyber et Suivi Migration).

Dans chaque feuille, il y'a la notion de solutions (Basic; Medium; Premium).

Je souhaiterai savoir comment faire par une macro VBA pour supprimer une ligne du Suivi Migration lorsque je change le type de solution dans le Parc Cyber.

Exemple: un client passe d'une solution Medium à Net et automatiquement la ligne correspondante dans la feuille "Suivi Migration" est supprimée.

J'ai tenté de contourner le problème en mettant une macro sur le Worksheet "Suivi Migration" qui supprimerait la ligne en fonction de la valeur et de faire un "lien" entre les solutions du Parc Cyber et du Suivi Migration pour que la macro supprime automatiquement la ligne mais ça ne marche pas.

Vous trouverez en fichier joint le fichier de test.

Merci de vos réponses.

Cordialement.

JFX.


Rebonjour,

Désolé, vous trouverez en fichier joint le fichier sans la sécurité.

Cordialement.

JFX.

Bonsoir

Un début

Tu as deux fois le même numéro de VAD ligne 109 et ligne 113

Bonsoir,

En remplacement des macros précédentes,

dans le VBE de la feuille "Parc Cyber"

Pour que tu puisse tester, on colore en jaune la ligne au lieu de la supprimer

si Ok, il faudra remplacer cette ligne

.Rows(Cel.Row).Interior.ColorIndex = 6 'Delete

par :

.Rows(Cel.Row).Delete

code entier

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim Lg%, i%, Del%
    If Not Intersect(Range("E:E"), Target) Is Nothing Then
        Lg = Target.Row
        If Target.Count > 1 Or Target.Offset(, -1) = "" Then Exit Sub

        '--- colore Parc Cyber ---
            Select Case Target
                Case Is = "Basic": i = 8
                Case Is = "Medium": i = 6
                Case Is = "Premium": i = 4
                Case Is = "Access": i = 40: Del = 1
                Case Is = "Net": i = 34: Del = 1
                Case Is = "Mix": i = 39: Del = 1
                Case Else: i = xlNone
            End Select
        Range("B" & Lg & ":O" & Lg).Interior.ColorIndex = i

        '--- supprime ligne dans Suivi (on teste la Raison Sociale)---
        If Del = 1 Then
            With Sheets("Suivi Migration")
                Set Cel = .Columns(6).Find(what:=Target.Offset(0, -1), LookIn:=xlValues, lookat:=xlWhole)
                If Not Cel Is Nothing Then
                    .Rows(Cel.Row).Interior.ColorIndex = 6 'Delete
                Else
                    MsgBox ("Pas de correspondance dans Suivi Migration !")
                End If
            End With
        End If
    End If
End Sub

à tester

Salut Banzai

Amicalement

Claude

8jfx-parccyber.zip (82.49 Ko)

Bonjour,

Encore un grand merci pour avoir résolu mon problème et avoir travailer si tard.

Cordialement.

JFX.

Rechercher des sujets similaires à "suppression lignes"