Fonction SI en macro

Bonjour,

J'ai ajouté une cellule dans mon tableau, et la macro n'est plus opérationnel. j'ai essayé de changer le numéro de cellule de la macro mais en vain.( feuil 1)

le code qui a été affecté au départ et que j'ai essayé d'ajuster mais ca marche tjrs pas est:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column =7 Or Target.Column =9 Then

If Cells(Target.Row, 7) = "" And Cells(Target.Row, 9) = "" Then

Cells(Target.Row, 10) = ""

ElseIf Cells(Target.Row, 9) = "" Then

Cells(Target.Row, 10) = "Absence réception"

ElseIf Not IsDate(Cells(Target.Row,7)) Or Not IsDate(Cells(Target.Row, 9)) Then

Cells(Target.Row,10) = "Date incorrecte"

ElseIf Cells(Target.Row,9) = Cells(Target.Row, 7) Then

Cells(Target.Row,10) = "Réceptionné à temps"

ElseIf DateDiff("d", Cells(Target.Row,9), Cells(Target.Row, 7)) < 0 Then

Cells(Target.Row, 10) = "Réception retardée"

Else

Cells(Target.Row, 10) = ""

End If

End If

End Sub

Dans la Feuil 2 , il y'a un 2ème tableau où je veux insérer une macro de fonction SI comme suite:

Si la colonne G= la colonne J ==> message colonne M= conforme: respect du prix et de la quantité

Sinon non conforme

Dans la Feuil 3, il y 'a un 3ème tableau où j'aimerai insérer une macro de fonction SI comme suite:

Si colonne D = colonne F ==> message colonne I = conforme

sinon non conforme

MERCI POUR VOTRE AIDE

20macro-2.xlsm (15.80 Ko)

Bonjour,

En feuille 1, la macro doit agir par rapport aux colonnes G et I ? qui sont des dates ? Si oui, le code que tu as posté ci-avant fonctionne.

Feuille 2 , mets ce code dans la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("J:J")) Is Nothing Then
    If Range("J" & Target.Row) = Range("G" & Target.Row) Then
        Range("M" & Target.Row) = "Conforme"
    Else: Range("M" & Target.Row) = "Non Conforme"
    End If
End If
End Sub

feuille 3, mets ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F:F")) Is Nothing Then
    If Range("F" & Target.Row) = Range("D" & Target.Row) Then
        Range("I" & Target.Row) = "Conforme"
    Else: Range("I" & Target.Row) = "Non Conforme"
    End If
End If
End Sub

A te relire

Crdlt

Bonsoir,

Merci pour votre aide. je suis pas très à l'aise avec VBA, j’intègre le code mais ca marche pas, pouvez vous activer les codes que vous m'avez proposé dans le fichier excel .

Merci pour votre compréhension

Cordialement

re,

Merci pour votre aide. je suis pas très à l'aise avec VBA, j’intègre le code mais ca marche pas

Pour mettre les deux codes dans le fichier :

1. feuille 2

  • copier le code que j'ai donné pour la feuille 2
  • clique droite sur l'onglet feuil2
  • choisir l'option " visualiser le code"
  • coller le code dans la fenêtre

1. feuille 3

- même procédure que ci-dessus mais en ayant choisi l'onglet feuil3

Si souci je posterai le fichier mais cela ne devrait pas être le cas

Crdlt

Bonjour,

j'ai suivi vos instructions, la macro fonctionne comme je l'ai souhaité.

Merci pour votre aide.

Bien à vous

Rechercher des sujets similaires à "fonction macro"