Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

robertduval

XLDnaute Junior
bonjour nouveau sur le forum en esperant trouver de l aide je maniplule un peu vba, j ai acheter vba pour excel pour les nuls et vba pour office, ça ma bien aidé mais ils expliquent beaucoups avec des input box et msg box .
Voila je souhaite (voir fichier joint) que la zone jaune soit testé si b1=a une des cellules de la zone jaune alors ils suppriment et décallent sur la gauche les cellules egale a la zone verte sans toucher a la zone jaune le programme que j'ai creer me suppriment toute les cellules et les decallent sur la gauche. En plus court je souhaiterai que toutes les valeurs de la zone verte soit supprimer sur toutes les lignes dont le nombre est egale aux nombres de la zone jaune, j'espere avoir ete compris merci la macro que j ai creer est dans le vba
 

Pièces jointes

Re : Probleme vba

Bonsoir,

Je ne comprends pas bien ta demande.
Ce code colore les cellules au lieu de les effacer pour plus facilement se reprendre au moment de tests.

Code:
Sub TrouvEffacCellul()
Dim cell As Variant
Dim plage As Range 'je declare plage qui est une selection
Dim X, Y As Integer

Set plage = ThisWorkbook.Worksheets("Feuil1").Range("b2:v22") 'plage est egale a la selection b2,v22 du classeur actuel, de la feuille1
On Error Resume Next
For X = 2 To Range("b1").End(xlToRight).Column
   For Each cell In plage 'pour tout les cellules de la plage
      For Y = 2 To 22
         If cell.Value = Cells(1, X).Value And cell.Value = Cells(Y, 1) Then cell.Interior.ColorIndex = 35     '.Delete Shift:=xlToLeft   'la cellule sera suprime et decale sur la gauche
'          If cell.Value = Cells(1, X).Value And cell.Value = Cells(Y, 1) Then cell.Delete Shift:=xlToLeft   'la cellule sera suprime et decale sur la gauche
      Next Y
   Next cell 'cellule suivante
Next X

End Sub

G
 
Re : Probleme vba

Bonjour,

J’ai interprété ta demande différemment de ce qui a été compris par Gelinotte (que je salue), à savoir que seules sont concernées les lignes dont la cellule d’en-tête (jaune) contient une valeur identique à celle d’une cellule verte.
Code:
Sub TrouvEffacCellul()
Dim C As Range, D As Range, X As Range, Y As Range
Dim PlageJaune As Range, PlageVerte As Range
    Set PlageJaune = ThisWorkbook.Worksheets("Feuil1").Range("A2:A22")
    Set PlageVerte = ThisWorkbook.Worksheets("Feuil1").Range("A1:K1")
    On Error Resume Next
    For Each X In PlageVerte
        Set C = PlageJaune.Find(X, LookIn:=xlValues)
        If Not C Is Nothing Then
            For Each Y In PlageVerte
                Set D = C.EntireRow.Find(Y, LookIn:=xlValues, lookat:=xlWhole)
                If D.Column > 1 And Not D Is Nothing Then D.Delete Shift:=xlToLeft
            Next Y
        End If
    Next X
    Set PlageJaune = Nothing: Set PlageVerte = Nothing: Set X = Nothing: Set Y = Nothing
End Sub
A+
 
Re : Probleme vba

Meeeerrrrcccciiiiii depuis le temps que je cherche merci beaucoup a vous deux Gelinotte et frangy vous m'avez aidé tous les 2 car j'ai une macro qui colore les cellules et quand je vois le code de Gelinotte je vois encore le chemin a parcourir pour arriver a votre niveau moi elle tient sur 30 lignes et bien sur frangie qui a trouvé exactement ce que je voulais, encore un grand merci bon weekend a vous deux
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
702
Réponses
6
Affichages
789
D
Réponses
2
Affichages
947
D
L
Réponses
2
Affichages
1 K
L
Retour