Interdiction sousplusieurs conditions

Bonjour à tous.

Mon problème est le suivant:

j'aurais aimé le fonctionnement qui suit si toutefois cela était possible.

Voilà si les colonnes "I" ou "M" sont vides ne rien faire;

uniquement après avoir rempli la cellule de la colonne "I" et seulement après avoir rempli "M" ,

1.copier la valeur de la colonne "C" dans la colonne "D"

2. ensuite effacer la valeur de la colonne "C".

Merci d'avance.

Roland

Ps : Si également il était possible d'allonger la longeur de la liste déroulante dans la feuille,

Comment dois-je faire?

Bonjour,

code à placer dans le module de la feuille stock.

Private Sub Worksheet_Change(ByVal Target As Range)
Stop
    If Target.Column <> 9 And Target.Column <> 13 Then Exit Sub
    If Cells(Target.Row, 9) <> "" And Cells(Target.Row, 13) <> "" Then
        Application.EnableEvents = False
        Cells(Target.Row, 4) = Cells(Target.Row, 3)
        Cells(Target.Row, 3) = ""
        Application.EnableEvents = True
    End If
End Sub

pour la liste déroulante, voir ici

https://forum.excel-pratique.com/excel/nombre-de-ligne-visible-d-une-liste-deroulee-t21006.html#p119603

Bonjour et merci à toi.

Mais j'ai du mettre un " ' " devant "stop" parce que il indiquait une erreur.

Merci aussi pour l'adresse de liste déroulante mais cela ne fonctionne qu'avec des listes déroulantes formulaires et pas sur données validation.

Bonne journée et bon dimanche malgrès la pluie.

Roland

Dsl j'ai oublié de dire que l'on ne peut entrée de données en colonne "L" (12) tant que "M" (13) est vide.

Si tu as encore un peu de temps, merci d'avance.

Bonjour,

teste ceci

Private Sub Worksheet_Change(ByVal Target As Range)

Select Case Target.Column

Case 12
    If Target <> "" Then
    If Cells(Target.Row, 13) = "" Then
    Application.EnableEvents = False
     Target = ""
     MsgBox ("veuillez remplir la colonne 13 d'abord")
     Cells(Target.Row, 13).Select
     Application.EnableEvents = True
     End If
     End If
     Exit Sub
Case 9, 13
    If Cells(Target.Row, 9) <> "" And Cells(Target.Row, 13) <> "" Then
        Application.EnableEvents = False
        Cells(Target.Row, 4) = Cells(Target.Row, 3)
        Cells(Target.Row, 3) = ""
        Application.EnableEvents = True
    End If
    End Select
End Sub
h2so4 a écrit :

Bonjour,

teste ceci

Private Sub Worksheet_Change(ByVal Target As Range)

Select Case Target.Column

Case 12
    If Target <> "" Then
    If Cells(Target.Row, 13) = "" Then
    Application.EnableEvents = False
     Target = ""
     MsgBox ("veuillez remplir la colonne 13 d'abord")
     Cells(Target.Row, 13).Select
     Application.EnableEvents = True
     End If
     End If
     Exit Sub
Case 9, 13
    If Cells(Target.Row, 9) <> "" And Cells(Target.Row, 13) <> "" Then
        Application.EnableEvents = False
        Cells(Target.Row, 12) = Cells(Target.Row, 3)
        Cells(Target.Row, 3) = ""
        Application.EnableEvents = True
    End If
    End Select
End Sub

Bonsoir, ok tout est nikel, bravo à toi et merci.

Bonne soirée. Roland

Rechercher des sujets similaires à "interdiction sousplusieurs conditions"