ouverture automatique de la MSGBOX lors du lancement du fichier

bruno93420

XLDnaute Nouveau
Bonjour a tous,

Dans le fichier ci joint, comment faire pour que la MSGBOX s'ouvre automatiquement lorsque j'entre dans celui ci?
Il faudrai interdire la saisi autrement que par la MSGBOX (picking) dans la colonne A
D'avance merci
 

Pièces jointes

  • exemple%201(1).xls
    39 KB · Affichages: 83
  • exemple%201(1).xls
    39 KB · Affichages: 95
  • exemple%201(1).xls
    39 KB · Affichages: 97

Dranreb

XLDnaute Barbatruc
Re : ouverture automatique de la MSGBOX lors du lancement du fichier

Bonjour
À votre place je ferais ça par validation de donnée:
Sélectionnez à partir de A2, Données, Validation,
Autoriser: Personnalisé
Formule: =NB.SI(A:A;A2)<2

Mais voyez si votre colonne ne devrait pas porter un format Texte.
L'InputBox ne pouvait rendre qu'une chaîne. Si ça devait être un nombre il aurait fallu la convertir
À+
 

bruno93420

XLDnaute Nouveau
Re : ouverture automatique de la MSGBOX lors du lancement du fichier

le VBA utilise dans le fichier est vraiment util pour se que je doit faire. Mais je n'arrive pas a le faire s'ouvrir directement quand j'ouvre le fichier.
Le fichier fonctionne parfaitement comme je le souhaite. Je n'ai que se petit detail qui m'embete, je doit pouvoir avoir la MSGBOX a l'ouverture, et ne plus pouvoir ecrire dans les cellule de la colonne A sans passe par la MSGBOX

Merci a toi
 

bruno93420

XLDnaute Nouveau
Re : ouverture automatique de la MSGBOX lors du lancement du fichier

Il ne fait pourtant rien de plus que ce que permet cette validation, puisque celle ci veille aussi à ce qu'on ne puisse pas entrer de doublon.

Je suis d'accord, mais avec ce VBA cela me renvoi automatiquement a la cellule du fameux doublon, et me permet de voir quand est ce que cela a deja été traité.
 

Dranreb

XLDnaute Barbatruc
Re : ouverture automatique de la MSGBOX lors du lancement du fichier

Bon ben, dans ce style peut être alors :
VB:
Option Explicit
'
Private Sub Worksheet_Activate()
If ActiveCell.Column = 1 Then Worksheet_SelectionChange ActiveCell
End Sub
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Dim Plage As Range, Data As Variant, Trouve As Range
    Set Plage = Range("A:A")
    If Application.Intersect(Target, Plage) Is Nothing Then Exit Sub
    Do:
        Data = InputBox("Numéro de Picking ?", "Picking", Target.Value)
        If Data = "" Then Exit Do
        Set Trouve = Plage.Find(Data, , xlValues, xlWhole)
        If Trouve Is Nothing Then Exit Do
        MsgBox "Ce numéro existe déjà"
        Trouve.EntireRow.Select
        Loop
    If IsNumeric(Data) Or Data = "" Then
        Target = Data
        Exit Sub
    End If
    MsgBox "Veuillez encoder des chiffres ou laissez vide"
    GoTo demande
End Sub
À tester
À +
 

bruno93420

XLDnaute Nouveau
Re : ouverture automatique de la MSGBOX lors du lancement du fichier

Bon ben, dans ce style peut être alors :
VB:
Option Explicit
'
Private Sub Worksheet_Activate()
If ActiveCell.Column = 1 Then Worksheet_SelectionChange ActiveCell
End Sub
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Dim Plage As Range, Data As Variant, Trouve As Range
    Set Plage = Range("A:A")
    If Application.Intersect(Target, Plage) Is Nothing Then Exit Sub
    Do:
        Data = InputBox("Numéro de Picking ?", "Picking", Target.Value)
        If Data = "" Then Exit Do
        Set Trouve = Plage.Find(Data, , xlValues, xlWhole)
        If Trouve Is Nothing Then Exit Do
        MsgBox "Ce numéro existe déjà"
        Trouve.EntireRow.Select
        Loop
    If IsNumeric(Data) Or Data = "" Then
        Target = Data
        Exit Sub
    End If
    MsgBox "Veuillez encoder des chiffres ou laissez vide"
    GoTo demande
End Sub
À tester
À +

Merci de se retour, mais la msgbox ne s'ouvre pas automatiquement avec ce VBA.
Je commence a croire que cela est impossible.
 

Discussions similaires

Réponses
16
Affichages
534
Réponses
7
Affichages
348

Statistiques des forums

Discussions
312 296
Messages
2 086 962
Membres
103 409
dernier inscrit
Dave56