IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Interdire encodage cellule feuille via formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    independant
    Inscrit en
    Février 2018
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : independant

    Informations forums :
    Inscription : Février 2018
    Messages : 74
    Points : 21
    Points
    21
    Par défaut Interdire encodage cellule feuille via formulaire
    Bonjour à tous,

    Mon soucis est le suivant:

    J'ai un formule de donnée à chaque validation, mes données s'encode à la suite de l'autre.

    Cependant j'aimerais quand mes articles arrive par exemple à la cellule A10 qu'un msgbox apparaisse et me dit "donnée maximum, vous pouvez plus ajouter".

    Pour ce fait dans ma feuille je suis allée dans donnée de validation.
    Si je change manuellement sur ma feuille y a pas de soucis, mon msgbox s'effectue et je ne sais pas encoder

    Cependant quand j'encode avec mon formulaire, mon msgbox ne marche pas et encode alors ma donnée.

    En vous remerciant

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Ajouter un bouton de validation qui, après encodage dans le formulaire, calcule le nombre x de lignes (via un code) déjà remplies et qui empêche de nouvelles entrées si x > 10.
    Si x>10, vous devez effacer les données encodées et réinitialiser le formulaire.

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par _flori_ Voir le message
    Cependant j'aimerais quand mes articles arrive
    Comment tes articles "arrivent-ils" dans tes cellules ?

    Cependant quand j'encode avec mon formulaire, mon msgbox ne marche pas et encode alors ma donnée.
    Montre le code permettant de transférer la valeur du formulaire à la cellule.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre à l'essai
    Homme Profil pro
    independant
    Inscrit en
    Février 2018
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : independant

    Informations forums :
    Inscription : Février 2018
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Mes données sont encodé dans un formulaire qui les transferts à ma feuille excel

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
     'Enregistrement des données sur la feuille
     'Cherche la dernière ligne de la colonne A
    Dim Der_Ligne As Long
      Der_Ligne = Range("A65536").End(xlUp).Row + 1
    Cells(Der_Ligne, 1) = TextBox1
    End Sub
    Quand j'encode directement par la feuille, y a pas de soucis ma validation de donnée avec son msgbox marche
    cependant en passant par mon userform, mes données s'encode bien mais ne s'arrête pas à ma validation

    En vous remerciant

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 913
    Points : 5 119
    Points
    5 119
    Par défaut
    Bonjour
    Dans ton code juste tester si la dernière ligne est sup à 10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if derlig > 10 then 
    msgbox " vous avez dépasser..."
    exit sub
    Else
    Cells ( derlig,2)= textbox1.value
    Désoler de ne pas baliser le code vue que je réponds depuis mon téléphone
    Bonne journée à tous
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Salut

    Citation Envoyé par _flori_ Voir le message
    [...]

    Quand j'encode directement par la feuille, y a pas de soucis ma validation de donnée avec son msgbox marche
    cependant en passant par mon userform, mes données s'encode bien mais ne s'arrête pas à ma validation

    En vous remerciant
    C'est normal. La validation est une validation de saisie. Cela veut dire qu'elle est bloquante uniquement pour la saisie manuelle des données. Même en Excel, si tu réalises un collage spécial valeurs, la validation ne bloquera rien.

    C'est dans ton userform que tu dois vérifier les données avant de les envoyer dans les cellules.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Une solution encore plus adaptable : tester directement ta validation de données en VBA avec sa propriété Value.
    https://msdn.microsoft.com/fr-fr/VBA...property-excel
    https://msdn.microsoft.com/fr-fr/VBA...n-object-excel
    https://msdn.microsoft.com/fr-fr/VBA...n-object-excel

    Si la plage n'est pas valide après avoir mis la valeur supplémentaire, il suffit de l'effacer.
    Ta macro peut même récupérer le message d'erreur de la validation de données et l'afficher en MsgBox. Comme ça, la concordance avec une saisie manuelle est complète.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre à l'essai
    Homme Profil pro
    independant
    Inscrit en
    Février 2018
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : independant

    Informations forums :
    Inscription : Février 2018
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    Bonjour à tous,

    Je vous remercie de vos réponses.

    J'ai utilisé ce que tu m'as donné BENNASR et je te remercie énormément, c'est exactement ce que je chercher.

    Puis-je abusé d'une dernière question, stp

    Mon encodage ce fais parfaitement

    Cependant, quand c'est des nombres, ça me marque toujours une erreur car les nombres sont encodé en format texte

    Comment puis-je forcer l'encodage en format nombre

    En te remerciant encore

  9. #9
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 913
    Points : 5 119
    Points
    5 119
    Par défaut
    Bonjour
    essayer avec CDBL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Der_Ligne, 1) = cdbl(TextBox1.value)
    BONNE JOURNÉE A TOUTES et A TOUS
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  10. #10
    Membre à l'essai
    Homme Profil pro
    independant
    Inscrit en
    Février 2018
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : independant

    Informations forums :
    Inscription : Février 2018
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Un grand merci

    C'est super

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Allimenter une feuille via formulaire en parcourant une colonne
    Par Darlingtonia dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/01/2018, 19h12
  2. Valider une plage de cellules sur plusieurs feuilles via une listbox
    Par lio59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2009, 14h52
  3. Interdire la saisie dans certaines cellules excel via un Userform
    Par smurf007 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/07/2009, 15h58
  4. Réponses: 1
    Dernier message: 05/03/2009, 18h44
  5. envoi d'une valeur dans une feuille via un formulaire
    Par guyanais dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/09/2008, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo