macro avec condition

  • Initiateur de la discussion Initiateur de la discussion ricanne
  • 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 !

R

ricanne

Guest
boujour a tous,
j'aimerais faire une macro avec comme condition que si E1 egal "lulu" alors copier E1 en B1 mais si E1 égal "toto" alors copier E1 en C1, etc j'ai 8 conditions. et puis refaire cela en E2 qui copierais en B2 et cela jusqu'a la fin de la feuille.
si quelqu’un a une solution merci d'avance
 
Re : macro avec condition

Bonjour,

Comme tu sembles débuter en macro, utilisons la façon simple :

If range("E1").value = "lulu" then range("B1").value = range("E1").value
If range("E1").value = "toto" then range("C1").value = range("E1").value

etc.

Quand tu auras maîtriser ce bout là, le code pourra être complexifié.


Geli
 
Re : macro avec condition

Bonjour Ricanne, Gelinotte. bonjour le forum,

En peu plus élaborée avec le code commenté, la macro boucle sur toutes les cellules de la colonne L et prend en comptes 8 conditions que tu adapteras..
Le code :
Code:
Sub Onglets()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CELlule)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, 12).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 12 (=L) de l'onglet O
Set PL = O.Range("L1:L" & DL) 'définit la plage PL (commence à L2 si tu as un titre sur L1)
For Each CEL In PL 'boucle sur toutes les cellules éditées CEL de la plage PL
    Select Case CEL.Value 'agit en fonction de la valeur de la cellule
        Case "lulu" 'cas "lulu"
            O.Cells(CEL.Row, 2) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 2 (=B) prend la valeur de CEL
        Case "toto" 'cas "toto"
            O.Cells(CEL.Row, 3) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 3 (=C) prend la valeur de CEL
        Case "mimi" 'cas "mimi"
            O.Cells(CEL.Row, 4) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 4 (=D) prend la valeur de CEL
        Case "riri" 'cas "riri"
            O.Cells(CEL.Row, 5) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 5 (=E) prend la valeur de CEL
        Case "fifi" 'cas "fifi"
            O.Cells(CEL.Row, 6) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 6 (=F) prend la valeur de CEL
        Case "roro" 'cas "roro"
            O.Cells(CEL.Row, 8) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 7 (=G) prend la valeur de CEL
        Case "nana" 'cas "nana"
            O.Cells(CEL.Row, 8) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 8 (=H) prend la valeur de CEL
        Case "lolo" 'cas "lolo"
            O.Cells(CEL.Row, 9) = CEL.Value 'la valeur de la cellule sur la même ligne que CEL colonne 9 (=I) prend la valeur de CEL
    End Select 'fin de l'action en fonction de la caleur de la cellule CEL
Next CEL 'prochaine cellule de la boucle
End Sub
 
Re : macro avec condition

Bonjour à tous

ricanne
Afin d'éviter les erreurs d'interprétation de ta question, peux-tu prendre le temps de joindre un petit fichier exemple ?
En mettant tes huit conditions et un exemple du résultat final de ce que tu veux obtenir.
 
Re : macro avec condition

bonjour a tous et un grand merci, j'ai adapté le code plus complexe a mon fichier et cela fonctionne parfaitement.
encore merci, je suis trop novice pour créer ce genre de code mais j'apprend a comprendre comment il fonctionne pour me perfectionner.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
268
Réponses
1
Affichages
699
Réponses
4
Affichages
548
Retour