Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 !

thomas4530

XLDnaute Junior
Bonjour,

Pourriez-vous me dire ce que je dois écrire en VBA pour obtenir l'action suivante:

--> pour chaque cellule de la colonne E, si la valeur n'est pas "AAA" efface le contenu des colonnes C:F.

Sans VBA, cela donne:
If Range("E4") <> "AAA" Then Range("C4:F4").Clear
If Range("E5") <> "AAA" Then Range("C5:F5").Clear
If Range("E6") <> "AAA" Then Range("C6:F6").Clear
...
If Range("E2090") <> "AAA" Then Range("C2090:F2090").Clear

Un grand merci,

Thomas
 
Re : Condition if

Bonjour à tous


c'est du VBA, non ? 😉
Sans VBA, cela donne:
If Range("E4") <> "AAA" Then Range("C4:F4").Clear
If Range("E5") <> "AAA" Then Range("C5:F5").Clear
If Range("E6") <> "AAA" Then Range("C6:F6").Clear
...
If Range("E2090") <> "AAA" Then Range("C2090:F2090").Clear

PS: Tu pourrais utiliser un filtre automatique pour te simplifier la vie, non ?
Le critère serait: <> de "AAA"
 
Re : Condition if

Re

Donc pour illustrer mon histoire de filtre automatique (avec du VBA)
Code:
Sub test()
Dim MaPlageFiltree As Range, pf As Range, dl&
dl = Cells(Rows.Count, "E").End(xlUp).Row
Set MaPlageFiltree = Range("E3:E" & dl)
MaPlageFiltree.AutoFilter Field:=1, Criteria1:="<>AAA", Operator:=xlAnd
Set pf = Range("_FilterDataBase")
pf.Offset(1, 0).Resize(pf.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.ClearContents
ActiceSheet.ShowAllData
End Sub

J'ai fait un test qui pour moi est OK. (voir ci-dessous)
 
Dernière édition:
Re : Condition if

Re,

Cela ne marche pas: erreur d'exécution 424 - objet requis. 🙁

Il n'y a vraiment pas moyen moyen de réaliser cela ?

--> pour chaque cellule de la colonne E, si la valeur n'est pas "AAA" efface le contenu des colonnes C:F.

Sans VBA, cela donne:
If Range("E4") <> "AAA" Then Range("C4:F4").Clear
If Range("E5") <> "AAA" Then Range("C5:F5").Clear
If Range("E6") <> "AAA" Then Range("C6:F6").Clear
...
If Range("E2090") <> "AAA" Then Range("C2090:F2090").Clear

Déjà un tout grand merci pour ton aide... et ta patience 🙂

Thomas
 
Re : Condition if

Hello,

Je préfère cela... mais ça ne marche pas non plus.

Erreur d'exécution 1004.

Où est l'erreur ?

Sub copie()
Sheets("Données").Range("A1:CH2090").copy Sheets("BBB").Range("A1:CH2090")
End Sub

Sub test()
Dim i As Long
For i = 4 To Cells(Rows.Count, 5).End(3).Row
If Cells(i, 5) <> "AAA" Then Cells(i, 3).Resize(, 4).Clear
Next
End Sub

Merciiiiiii
 
Re : Condition if

Encore moi,

Désolé Laeti cela fonctionne en fait, juste une cellule fusionné qui faisait tout foirer...

Faut juste que je trouve comment juste effacer la valeur sans effacer la mise en page.

Un tout grand merci,

Thomas
 
Re : Condition if

Laetitia,

J'ai essayé d'adapter pour les colonnes suivantes (même logique)... mais cela ne fonctionne pas ?

Où est le problème ?

Sub lundi2()
Dim i As Long
For i = 4 To Cells(Rows.Count, 9).End(7).Row
If Cells(i, 9) <> "AAA" Then Cells(i, 7).Resize(, 4).ClearContents
Next
End Sub

Pfffffff je n'y arriverai jamais !
 
- 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
7
Affichages
570
Réponses
2
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
17
Affichages
2 K
Réponses
4
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…