Correction code VBA

Bonjour,

Pourriez-vous svp corriger ma boucle for

l'idée est la suivante

si par ex la cellule A2="A" ou"T" et que la cellule B2="ALL", alors la cellule L2 ne doit pas être vide

For i = 1 To x

If Range("A" & i).Value = "A " Or "T" And Range("B" & i).Value = "ALL" Then

Range("L" & i).Value <> ""

End If

merci d'avance

Edit Modo : merci d'utiliser les balises de code </> lorsque vous postez un code en cliquant sur l'icone </> dans le menu et en collant votre code dans la fenêtre. J'ai corrigé sur ce post

Bonjour,

Si la cellule L2 ne doit pas être vide, que met-on alors?

Ne serait-ce pas plutôt:

Si A2 <>"A" et A2 <>"T " et B2<>"ALL", alors L2=vide

Cdlt

Bonjour Arturo83, Leo10Messi,

Petite correction pour commencer:

If Range("A" & i).Value = "A " Or "T" And Range("B" & i).Value = "ALL" Then

doit être écrit:

If (Range("A" & i).Value = "A" Or Range("A" & i).Value= "T") And Range("B" & i).Value = "ALL" Then

Ensuite, comme l'indique Arturo83, si la cellule ne doit pas être vide on met quoi?

Il manquerait au moins:

If Range("L" & i).Value = "" Then
    MsgBox "Cette cellule ne doit pas être vide"
End If

C'est un exemple bien entendu.

Si le but c'est de faire ressortir la cellule en colonne L avec une mise en forme je recommande plutôt d'utiliser la fonction Mise en forme conditionnelle fournie par Excel.

Pour continuer dans le raisonnement précédent, j'écrirai ceci:

For i = 1 To x
    If Range("A" & i).Value <> "A" And Range("A" & i).Value <> "T" And Range("B" & i).Value <> "ALL" Then Range("L" & i).Value = ""
End If

Pour continuer dans le raisonnement précédent, j'écrirai ceci:

For i = 1 To x
    If Range("A" & i).Value <> "A" And Range("A" & i).Value <> "T" And Range("B" & i).Value <> "ALL" Then Range("L" & i).Value = ""
End If

Attention avec ce raisonnement, l'auteur du sujet n'a nullement dis que les lignes ne répondant à aucun critères doivent être vides.

Attention avec ce raisonnement, l'auteur du sujet n'a nullement dis que les lignes ne répondant à aucun critères doivent être vides

Oui bien sur, mais ce n'était qu'une proposition en attendant que Leo10Messi se manifeste.

D'accord je vois, j'espère qu'il se manifestera

re Bonjour

un grand merci pour vos retours

Je partirai plus sur l'idée ci-dessous, mais je ne sais pas comment imbriquer les 2 IF dans la boucle for

si les cellules Ai et Bi remplissent ces conditions, la cellule Li ne doit pas être vide (elle peut contenir plusieurs valeurs)

If (Range("A" & i).Value = "A" Or Range("A" & i).Value= "T") And Range("B" & i).Value = "ALL" Then

If Range("L" & i).Value = "" Then
    MsgBox "Cette cellule ne doit pas être vide"
End If

j'aurais bien dis quelque chose comme ça:

If (Range("A" & i).Value = "A" Or Range("A" & i).Value= "T") And Range("B" & i).Value = "ALL" And Range("L" & i).Value = "" Then
    MsgBox "Cette cellule ne doit pas être vide"
End If

merci beaucoup pour ton retour

j'ai trouvé une valeur à affecter à la colonne L du coup le problème est résolu

bonne journée

Rechercher des sujets similaires à "correction code vba"