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
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
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 'Deletepar :
.Rows(Cel.Row).Deletecode 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
Bonjour,
Encore un grand merci pour avoir résolu mon problème et avoir travailer si tard.
Cordialement.
JFX.