ouverture automatique de la MSGBOX lors du lancement du fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
À+
 
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
 
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é.
 
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
À +
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour