Macro avec boucle qui ne fonctionne plus

chacal33

XLDnaute Junior
Bonjour à toutes et à tous, et une très bonne année 2014 pleine de formules et solutions à nos problèmes!!!

Je me permets de faire appel à vos connaissances car je tourne en rond et ne comprends plus un code macro que j'avais créé l'année dernière (et qui fonctionnait très bien...) qui ne marche plus:

Code:
Sub MEP()

Dim i As Long
For i = Cells(Rows.Count, 2).End(xlUp).Row To 4 Step -1
    If Not Cells(i, 2) Like "*Mur*" And Cells(i, 8) Like "*Fenêtre*" Or Not Cells(i, 2) Like "*Mur*" And Cells(i, 8) Like "*Vide*" Then Cells(i, 2).Select
        ActiveCell.FormulaR1C1 = "    Mur 10"
Next i

End Sub

Le code doit pour chaque ligne de la colonne B du tableau (dont la taille est variable) remplir les cellules répondant aux critères définis par Mur 10

Merci de vos retours.

Matt
 

Paf

XLDnaute Barbatruc
Re : Macro avec boucle qui ne fonctionne plus

bonjour

dans le test if... a priori il y aurait besoin de parenthèses :
si la cellule (différente de "*Mur*" ET = "*Fenêtre*" ) OU (différente de "*Mur*" ET = "*Vide*")


" Mur 10" n'étant pas une formule, il vaudrait mieux utiliser:.Value que FormulaR1C1.
Par ailleurs, plutôt que de passer par une .Select puis un ActiveCell, mieux vaut définir la cellule directement

Donc: Then Cells(i, 2).Value = " Mur 10"
et supprimer ActiveCell.FormulaR1C1 = " Mur 10"

il n'y aura plus besoin de End If qui faisait défaut et qui devait perturber le résultat attendu

A+

Edit: Après vérifications, les parenthèses ne s'imposent pas, l'ordre de priorité des opérateurs étant AND puis OR

Rdit 2 : Correction de la solution proposée après relecture du code
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p