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

Microsoft 365 Remplir sous condition

  • Initiateur de la discussion Initiateur de la discussion WTF
  • Date de début Date de début

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 !

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.
 
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
 
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.
 
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
 
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

- 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
3
Affichages
193
Réponses
7
Affichages
176
Réponses
5
Affichages
265
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…