Cellules definies

bonjour,

voici ma demande

mon fichier fonctionne correctement, ( a mes gouts bien sure)

1 - j'aimerais faire en sorte que si la cellule I2 n'est pas remplie avec un nombre de 8 chiffres et seulement 8, la macro qui lui est associé 'Ajout VN" ne fonctionne pas,

2 - aussi , si la cellule G2 n'est pas sous la forme JJ/MM/AAAA, et la cellule G3 a elle aussi un nombre a 8 chiffres et la cellule G4 n'est pas remplie par des lettres (ça concernant un nom de famille et un prénom) la macro "LIVRE" ne fonctionne pas

merci d'avance

une aide s'il vous plaissssssssssssss

j'y arrive pas

merci d'avanceeeeeee

Bonsoir

Pour la cellule I2

Modifies le début de la macro AjoutVN en rajoutant les lignes surlignées

Sub AjoutVN()
'
' AjoutVN Macro verifie avant l'existance du châssis en stock, sinon il l'ajoute
'
Dim i As Integer

If Not IsNumeric(Range("I2")) Or Len(Range("I2")) <> 8 Then
    MsgBox "Un nombre de 8 chiffres"
    Exit Sub
  End If
 Application.ScreenUpdating = False

Pour la macro LivreOK un peu plus embêtante

  • G2 : On teste si c'est une date
  • G3 : Nombre de 8 caractères
  • G4 : Si non vide (A moins de tester chaque caractère si il est autorisé - Dresses la liste des caractères autorisés)

Pareil rajoutes les lignes surlignées

Sub LivreOK()
'
' LivreOK Macro qui destock
'
Dim i As Integer

If (Not IsDate(Range("G2"))) Or (Not IsNumeric(Range("G3"))) Or _
                                (Len(Range("G3")) <> 8) Or (Range("G4") = "") Then
    MsgBox "Données incomplètes"
    Exit Sub
  End If

Application.ScreenUpdating = False

Je n'ai pas testé tous les cas, à toi de dire là ou ce n'est pas ça

bonjour

merci Banzai64 des efforts fournis

le fichier fonctionne correctement

néanmoins, j'ai fait moi même une bêtises dans l’explication. voila, la cellule I2 et G3 peuvent avoir des caractères alphanumérique de 8 et seulement 8.

merci pour l'aide

ci joint le fichier mise a jour

25inventaire-test.xlsm (286.20 Ko)

Bonjour

Modifies tes 2 macros en enlevant la condition IsNumeric

Pour AjoutVN

Dim i As Integer
If Len(Range("I2")) <> 8 Then
    MsgBox "Veuillez introduire les 8 derniers chiffres du châssis"
    Exit Sub
  End If
 Application.ScreenUpdating = False

Pour LivreOK

Dim i As Integer
If (Not IsDate(Range("G2"))) Or (Len(Range("G3")) <> 8) Or (Range("G4") = "") Then
    MsgBox "Données incomplètes"
    Exit Sub
  End If

merci encore une fois

je ne voudrais pas trop abuser, mais la cellule G2 ne fonctionne pas correctement

si d’introduit comme exemple ' 26 11 ' la macro fonctionne

merci pour votre aide

Bonjour

Je ne sais pas comment le régler CE problème, car XL considère tout nombre comme une date

Si tu as ton format de cellule sur date et que entres un nombre, XL t'affichera bien une date

Reste à tester si c'est une date valable (pas de date inférieure à aujourd'hui par exemple)

Si quelqu'un à une solution pour traiter ce problème, qu'il la partage

bonjour

est ce qu'il y a quelqu'un qui pourrais m'aider a résoudre mon problème

merci

Rechercher des sujets similaires à "definies"