Enregistrement et vérification

Résolu
Bonjour,

J'arrive presque au terme de mon projet après maintes péripéties mais j'ai omis une chose importante.

En effet, malgré maintes recherches, je sèche complètement.

J'ai une " textbox " dans lequel, il doit être saisi un nombre mais j'aimerais savoir comment faire pour qu'à chaque fois qu'un nombre est saisi, il soit enregistrer dans une nouvelle cellule et comment faire si le nombre saisi existe déjà dans une des cellules et qu'une " msgbox " s'ouvre et affiche un message.

Merci à vous de m'enlever ce menhir du pied ;-)



--
"Je connaissais un sportif qui prétendait avoir plus de ressort que sa montre. Pour le prouver, il a fait la course contre sa montre."

6 réponses

  1. Modérateur
    J'ai déjà ce bout de code qui vérifie que la saisie est bien numérique :

    Private Sub TextBoxenvbatch_Change()
    If IsNumeric(TextBoxenvbatch.Value) Then
    validblenvsalle.Visible = True
    Else 'SINON ...
    validblenvsalle.Visible = False
    End If
    End Sub
    1. Modérateur
      Petite précision, ces enregistrement se feraient dans ma feuille excel et pour les cellules, peu importe par ex à partir de la cellule A70 puis A71 et ainsi de suite.
      1. Contributeur
        Bonjour,
        Difficile de te répondre avec les renseignements que tu décrit.
        Tu pourrais peut-être déposer un exemple de ton classeur (sur Cjoint.com par exemple)
        Ce serrait plus simple pour t'aidé.
        A+
        EDIT: Je n'ai pas vu les postes précédant :-(
        Note, le contenu d'un textBox n'est pas forcément compatible avec un nombre, il faut le tester.
        En texte c'est avec Virgule, en VBA c'est avec un point !!

        Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
        Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
        1. Modérateur
          Lut

          Plus clairement, lorsque un nombre est saisi dans la textbox ' peu importe son nom ) , ce nombre est enregistré dans une cellule de ma feuille excel ( A71 ), si un autre nombre est saisi dans la textbox, il est enregistré dans la cellule suivante juste en dessous ( A72) et ainsi de suite à chaque nouveau nombre choisi.

          Pour éviter qu'un nombre déjà enregistrer dans une des cellules, il faudrait que lors de la validation de ce nombre, un message alerte l'utilisateur et efface le contenu de la textbox.

          si nombre 1 saisi dans textbox => cellule A71 = 1
          si nombre 2 saisi dans textbox => cellule A72 = 2
          si nombre 3 saisi dans textbox => cellule A73 = 3

          Si essai de saisie du nombre 2 => msgbox s'affiche avec un message d'avertissement et text de la textbox = ""
        2. Contributeur
          Tes nombres sont les chiffres de 0 à 9 ou plus grand ?
      2. Modérateur
        Salut

        Suite à l'intervention d'une amie sur ce sujet, le code a été modifié et la textbox remplacé par une combobox, cela marque nickel chrome.

        Le code ;

        Private Sub validblenvsalle_Click()
        If ComboBoxchoixbl.Value <> "" Then
        If IsError(Application.Match(ComboBoxchoixbl.Value, ComboBoxchoixbl.List, 0)) Then
        If MsgBox("Valider ce N° de BL", vbYesNo) = vbYes Then
        Sheets("Feuil1").Range("A65536").End(xlUp)(71).Value = ComboBoxchoixbl.Value
        ComboBoxchoixbl.AddItem ComboBoxchoixbl.Value
        With Sheets("Feuil1").Range("A71", Range("A65536").End(xlUp))
        .Sort key1:=Sheets("Feuil1").Range("A71")
        Labelblchoisi.Visible = True
        Labelblchoisi.Caption = ComboBoxchoixbl.Value
        [B24] = Labelblchoisi.Caption
        End With
        End If
        Else: MsgBox "Cette BL est déjà faite !"
        choixtable.Visible = False
        Frame2.Visible = False
        validtableenvoisalle.Visible = False
        End If
        End If
        1. Modérateur
          Par contre Lorsque l'on clique sur " Non " de la msgbox, quel est le code pour qu'une frame ne soit plus visible.

          Merci
          1. Modérateur
            Suite à une erreur de ce code lorsque je passais à une autre userform puis revenait sur celle-ci, j'ai simplifié mon code de départ et plus de problème :

            Private Sub TextBoxenvbatch_Change() 
                If IsNumeric(TextBoxenvbatch.Value) Then 
                    [B24] = TextBoxenvbatch.Text 
                    [B25] = [B24] 
                    validblenvsalle.Visible = True 
                        Else 'SINON ... 
                    validblenvsalle.Visible = False 
                End If 
                    If Dir("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\" & "Batch_BL_N°" & Range("B25").Value & "", vbDirectory) <> "" Then 
                TextBoxenvbatch.Text = "" 
                validblenvsalle.Visible = False 
                MsgBox " Cette Bl existe déjà" 
                End If 
            End Sub
        2. Bonsoir lermite
          Un modo aide
          Mais il peut aussi poster des questions
          1. Oui, c'est un humain comme les autres, et il a ses problèmes aussi.
            Par contre, penses-tu que ton message ici soit nécessaire?
            Si oui, réfléchis aux raisons de certains blocage que tu as perçu.