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

Microsoft 365 Remplir sous condition

WTF

XLDnaute Impliqué
Bonjour à tous,

Je souhaiterai remplir la colonne L en fonction de conditions :

Sur l'onglet "résultat"

- Si A2="1-Global"; alors L2="C01"
- Sinon :
Si C2=F2; alors L2="C02"
Sinon L2=D01

Je souhaiterais que la macro s'applique sur toutes les lignes de mon tableau (de la ligne 2 à la dernière).

Merci pour votre aide.
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour WTF, bonjour le forum,

Peut-être comme ça :

VB:
Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim I As Integer

Set O = Worksheets("résultat")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
For I = 2 To DL
    O.Cells(I, "L").Value = "D01"
    If O.Cells(I, "A") = "1-Global" Then O.Cells(I, "L").Value = "C01"""
    If c.Cells(2, "C") = O.Cells(2, "F") Then O.Cells(I, "L").Value = "C02"
Next I
End Sub
 

WTF

XLDnaute Impliqué
Bonjour Robert,
Merci pour ta réponse.
J'ai un message d'erreur quand j'exécute ta macro.
J'ai mis un fichier en PJ c'est probablement plus clair
 

Pièces jointes

  • Code rubrique.xlsx
    11.2 KB · Affichages: 5

Santulud

XLDnaute Occasionnel
Bonjour le fil,

je me permet une petite correction sur le code de @Robert

VB:
Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim I As Integer

Set O = Worksheets("résultat")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
For I = 2 To DL
    O.Cells(I, "L").Value = "D01"
    If O.Cells(I, "B") = "1-Global" Then O.Cells(I, "L").Value = "C01"
    If O.Cells(I, "C") = O.Cells(I, "F") Then O.Cells(I, "L").Value = "C02"
Next I
End Sub

Cela devrai maintenant être fonctionnel.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Avec le fichier c'est plus facile et surtout ça permet de tester avant d'envoyer !...

VB:
Sub Macro1()
Dim O As Worksheet
Dim DL As Integer
Dim I As Integer

Set O = Worksheets("Résultat")
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
For I = 2 To DL
    O.Cells(I, "L").Value = "D01"
    If O.Cells(I, "B") = "1-Global" Then O.Cells(I, "L").Value = "C01"
    If O.Cells(I, "C") = O.Cells(I, "F") Then O.Cells(I, "L").Value = "C02"
Next I
End Sub
 

WTF

XLDnaute Impliqué
Top, Ca fonctionne très bien. Merci à tous les 2.

Peut être que vous pouvez m'aider sur le reste de mon code.
Grace à vous l'étape 4 de mon projet fonctionne.

Il me reste les étapes 2 et 3 (voir fichier joint), et là je ne vois pas du tout comment m'y prendre.
Si vous ne voyez pas, je tenterai un nouveau post.
Merci
 

Pièces jointes

  • TEST.xlsm
    185.3 KB · Affichages: 3

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…