Somme de valeurs numériques issues d'une saisie grâce à un USF

Claire_1982 Messages postés 149 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai mon USF sur lequel je rentre des données numériques.
Lorsque j'ouvre ma feuille Excel sur laquelle les données ont été enregistrées, je souhaiterai faire une addition des valeurs du type =SOMME(A1:A10)
Le résultat est "0"... Pourriez-vous m'aider à trouver une solution à mon problème ?

En vous remerciant !

Claire

7 réponses

Résumé de la discussion

Le problème porte sur une somme Excel où la fonction SOMME(A1:A10) renvoie 0 après ouverture de la feuille, malgré des données numériques supposées présentes dans la plage ciblée. Des explications possibles incluent des valeurs stockées en texte plutôt qu'en numérique, des contrôles de saisie en texte ou des macros VBA qui transforment ou interfèrent avec les formats des cellules. Parmi les remèdes proposés, il est recommandé de vérifier le type des données, d’assurer que les saisies soient numériques et d’envisager tests de saisie ou une adaptation de VBA pour normaliser les valeurs. D'autres points évoqués incluent l'usage éventuel de contrôles en temps réel et la gestion des interactions multi-utilisateurs pour éviter des incohérences de saisie et synchroniser les données.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    Comment ecrivez vous ces cellules(code VBA)?
    1
    1. Claire_1982 Messages postés 149 Statut Membre
       
      Option Explicit  'Activation de la déclaration explicite des variables
      Dim Ws As Worksheet
      
      
      'Correspond au programme du bouton QUITTER
      Private Sub CommandButton1_Click()
      Unload Me
       End Sub
      
      
      
      Private Sub CommandButton3_Click() 'LE BOUTON NOUVEAU CONTACT
      Dim L As Integer
      Dim x As Integer
      
      If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message
      L = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
      
      'COMBOBOX DATE
      Range("A" & L).Value = ComboBox1 
      
      Range("B" & L).Value = TextBox1
      
      Range("C" & L).Value = TextBox2
      
      Range("D" & L).Value = TextBox3
      
      End If
      
      
      Feuil1.Range("B" & L).Value = CInt(TextBox1)
      Feuil1.Range("C" & L).Value = CInt(TextBox2)
      Feuil1.Range("D" & L).Value = CInt(TextBox3)
      
      'pour transformer la valeur de la ComboBox en Date
      Feuil1.Range("A" & L).Value = CDate(ComboBox1)
      
      ' Affiche une boîte de message
      MsgBox ("Produit inséré dans fichier sélectionné") 'Vous informant que le présent contact est insérer dans votre tableau Excel.
      
      Unload Me ' Vide et ferme l'Userform ( formulaire)
      UserForm1.Show 'Affiche le  formulaire
      End Sub
      
      Private Sub CommandButton4_Click() 'Correspond au bouton supprimer
      'Supprimer la ligne sélectionnée
      Dim L As Long
      
      If Me.ComboBox1.ListIndex = -1 Then Exit Sub
       L = Me.ComboBox1.ListIndex + 2
      Ws.Rows(L).Delete
      End Sub
      
      Private Sub CommandButton5_Click()
      UserForm2.Show
      End Sub
      
      
      'Correspond au programme du FORULAIRE
      'Cet évènement est important car il permet de définir les propriétés des objets et les valeurs par défaut des variables, lors du lancement du Userform.
      Private Sub UserForm_Initialize() 'à l'initialisation de l'userform
      ' Déclaration des variables grâce à Dim
      '    1° Choisir un nom
      '    2° Choisir un TYPE (= définir la nature du contenu)
      ' --------------------------------------------------------
      Dim J As Long 'déclare la variable J
      Dim i As Integer
      
      
      
      
      
      
      ' Affecter une valeur à une variable (= fixer la valeur de la variable)
        Set Ws = Sheets("Feuil1") 'Attention ce nom doit correspondre au nom de votre ONGLET
      'On stock le nom de la feuille "Feuil1" dans une variable nommée WS
      
        With Me.ComboBox1
        'Ici on indique la colonne voulue comme début du tableau, j'ai choisis ici la 1ère colonne soit A comme point de départ de mon tableau
          For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
            .AddItem Ws.Range("A" & J)
          Next J
        End With
      
        For i = 1 To 184 'on lance une boucle de valeur mini 1 et maxi 8 c'est à dire qu'il y a 8 colonnes dans mon formulaire
          Me.Controls("TextBox" & i).Visible = True 'affiche les données dans les textbox
      Next i
      
      
      
      
      End Sub
      
      'Correspond au programme du bouton MODIFIER
      Private Sub CommandButton2_Click()
      If MsgBox("Etes-vous certain de vouloir modifier ce produit ?", vbYesNo, "Demande de confirmation") = vbYes Then
      Dim Ligne As Long
      Dim i As Integer
      
      
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub 'On sort si pas de sélection
        Ligne = Me.ComboBox1.ListIndex + 2
        For i = 1 To 184 'parcqu'il y a 8 colonnes dans mon formulaire
          If Me.Controls("TextBox" & i).Visible = True Then
            Ws.Cells(Ligne, i + 1) = Me.Controls("TextBox" & i)
          End If
        Next i
          End If 'fin de la condition
      
      
      
      End Sub
      
      'Correspond au programme de la LISTE DEROULANTE
      Private Sub ComboBox1_Change()
      Dim Ligne As Long
      Dim i As Integer
         If Me.ComboBox1.ListIndex = -1 Then Exit Sub
        Ligne = Me.ComboBox1.ListIndex + 2
        For i = 1 To 184 'parcqu'il y a 8 colonnes dans mon formulaire
          Me.Controls("TextBox" & i) = Ws.Cells(Ligne, i + 1)
        Next i
       End Sub
      


      EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
      Explications disponibles ici : ICI

      Merci d'y penser dans tes prochains messages.
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    A quoi sert la msgbox avec reponse oui puisque que vous ecrivez quand meme dans le cellules??
    Une fois en texte si oui et une autre fois en numerique !!!
    1
    1. Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour,
      la msgbox avec réponse oui ? c'est pour demander une confirmation avant l'enregistrement
      concernant "une fois en texte" "une fois en numérique" c là que je coince....

      Range("D" & L).Value = TextBox1
      
      End If
      
      Feuil1.Range("B" & L).Value = CInt(TextBox1)


      ce sont ces lignes dont tu parles ?
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Re,
      Oui, mais réponse oui ou pas y a écriture en numérique !
      Donc comprends pas ce que vous voulez
      0
    3. Claire_1982 Messages postés 149 Statut Membre
       
      en fait mes textbox sont quasi que du numérique, exceptées 8 d'entre elles qui comporte du texte. Ce que je souhaite c une fois les données saisies, en allant sur ma feuille Excel, je souhaite faire une somme des cellules comportant des données numériques mais ça ne marche pas j'ai un résultat à 0
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour,

      Et vous la mettez ou cette somme?
      Vous pouvez faire cette somme quand vous écrivez vos cellules puisque vous connaissez celles qu'il ne faut pas prendre en compte
      0
    5. Claire_1982 Messages postés 149 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      en fait, lorsque je termine avec ma saisie sur l'userform, que je clique sur valider, les données sont sur ma feuille Excel (jusqu'ici tout est normal)
      Afin de faire des stats, j'ai besoin d'additionner ces valeurs. Donc par exemple, j'ai ma ligne 2 ayant les données issues de la saisie de l'USF, sur une autre feuille je fais le fameux =SOMME(Feuil1!D2:Y2) cette plage de cellules ne contient que du nombre. Et là je ne comprend pas, j'ai un résultat =0
      J'ai essayé aussi le plus lourd =SOMME(Feuil1!D2+E2...+Y2) là ça marche mais uniquement si j'ai une valeur dans chaque cellule de cette plage, alors que dans les faits je n'ai que 2 ou 3 cellules qui comportent quelque chose en moyenne. J'ai alors le résultat =#VALEUR! qui apparaît...
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Rectification, fichier modifie pour textbox vide ou non vide et numerique

    https://www.cjoint.com/c/GBuvIEQjxJf

    A+
    1
    1. Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour et merci encore pour votre travail, ça commence à devenir quelque chose de très sérieux tout ça !

      Après avoir testé le dernier fichier,

      Si j'oublie de remplir une combobox , un msgbox "Attention : erreur de saisie ou pas de saisi" devrait apparaitre mais pour le coup ça n'a pas l'air de fonctioneer, après saisie et clic sur modifier, voici le message d'erreur : "Erreur d'éxécution 438 Propriété ou méthode non gérée par cet objet"
      débogage indique :
            '---------------------Controle de saisie non vide Combobox--------------------
              If Me.Controls("Cbx_P" & Idx) = "" Then
                  MultiPage1.Pages(Idx - 1).Value = 1
                  Me.Controls("Cbx_P" & Idx).SetFocus
                  MsgBox "Attention: erreur de saisie ou pas de saisie!"
                  Exit Sub
              End If
          Next Idx
          '-----------


      la ligne en jaune est la suivante
       MultiPage1.Pages(Idx - 1).Value = 1
      0
    2. Claire_1982 Messages postés 149 Statut Membre
       
      Je sais que vous êtes le maître mais ne pourrions nous pas envisager quelque chose du type :

         'POUR AFFICHER UN MSG AVERTISSANT DE L'OUBLI DE LA SAISIE DE LA QUALITE D'UN POSTE
          
          
          ' deux solutions pour gérer un oubli de saisie de la combobox
          ' ajouter un "InputBox" qui permettra de saisir directement la valeur oubliée.
          ' ajouter un "MsgBox" indiquant seulement l'oubli.
          
          'EXEMPLE AVEC INPUTBOX
        If Me.ComboBox00.Value = "" Then
           Me.ComboBox00.Value = InputBox("Indiquer la qualité du poste 1", "OUBLI POSTE 1")
      End If
        
          'EXEMPLE AVEC %SGBOX
        ' Si la valeur de la ComboBox est vide alors...
        If Me.ComboBox00.Value = "" Then
        'insérer MsgBox      "TEXTE DU MSGBOX" / TRIANGLE PT EXCLAMATION / "TITRE DU MSGBOX"
        MsgBox "Indiquer la qualité du poste 1", vbExclamation, "OUBLI POSTE 1"
        Exit Sub
        End If


      Qu'en pensez-vous ? J'ai peur de toucher au code, tellement vous l'avez bien rédigé ! J'aurai à ce sujet plein de questions sur sa compréhension mais on verra plus tard bien entendu
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour,

      Je regarde la chose.
      Qu'en pensez-vous ?
      Normalement, s'il y a une combobox vide, message et ensuite selection de la page du multipage et focus sur la combobox. Donc pas besoin d'autre chose

      Suite:

      fichier modifie: https://www.cjoint.com/c/GBvgJXfxBgf

      A+
      0
    4. Claire_1982 Messages postés 149 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      C'est parfait tout fonctionne à merveille !!! Merci merci merci !!!!!!! Je vais pouvoir l'intégrer dès demain au travail et gagner en efficacité en évitant des mauvaises saisies !
      Justement question sécurité :

      est-t'il possible de protéger le code ? Je m'explique, je ne serai pas seule à utiliser ce fichier, je souhaite que mes opératrices ne peuvent avoir accès uniquement au formulaire à partir de la page accueil du fichier. (j'insérerai un controle avec macro vers le formulaire depuis la page accueil plus tard)
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Re,

      Pas de soucis, je vous fais ca: protection feuilles et code; P'etre que je vous donnerai les mots de passe

      Suite:

      fichier avec protection feuilles et code

      https://www.cjoint.com/c/GBvkllwCeNf

      PW feuille: Claire
      PW code: 1982
      0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Claire:
    Voir post a 16:25

    HugoHerbomez:
    Pas de problème je suis sans difficulté
    1
    1. HugoHerbomez Messages postés 59 Statut Membre 2
       
      xD ok
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Fichier avec le minimum d'objets dans UF1:
    _ai ajoute controle saisie textbox en temps reel, seuls des chiffres sont pris en compte
    _ai ajoute differents tests pour eviter les monstres
    _ai optimise les lignes de code vu votre Lazytium4


    a vous de tester
    https://www.cjoint.com/c/GCco0yqg1nf

    Restrerait la partie combobox qualite controle temps reel si vide ou portnawak, ai pas encore trouve solution sur changement de page

    Question de detail, est-ce que le fichier sera utilise par plusieurs personnes en meme temps pour le ou les memes saisies?
    1
    1. Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour

      le fichier sera utilisé par une seule personne par saisie. Le dernier fichier a l'air ok meme si j'ai l'impression que ça bug, soit mes yeux ne sont pas encore ouverts, soit les données ne s'affichent pas tout le temps dans les textbox lorsque l'on consulte un jour précédent.
      Essayer de consulter le 02/01/17, puis le 04/01/17 sur un poste vide, revenez ensuite sur poste 1 du 02/01/17 il apparait vide...
      Les titres des pages restent "enfoncés" ce qui ne facilite pas la vue de quelle page on utilise. Est t'il possible d'ajouter une zone de texte pour chaque page afin de préciser le libellé long du poste ? Oar exemple poste 1 est le libellé court et "poste de l'équipe bleue" est le libellé long.

      Merci beaucoup !
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Re
      Si vous utilisez le fichier que je viens de vous mettre a dispo, y a deux couleurs pour les pages, vert/vert plus fonce: page selectionnee et jaune claire pages non selectionnees
      Z'etes pas daltonienne?

      Est t'il possible d'ajouter une zone de texte pour chaque page afin de préciser le libellé long du poste ?
      Oui, donnez les libelles longs

      soit les données ne s'affichent pas tout le temps dans les textbox lorsque l'on consulte un jour précédent
      Si vous changez de jour, il faut recliquer pour mettre a jour les textbox avec les nouvelles infos de la page selectionnee (j'ai d'ailleur oublie de faire une raz des textboxs sur changement de jour)

      Si vous voulez que ca marche comme avant (rafraichiisement de la page active), dites le
      Le premier but etait la diminution de taille du fichier, 182ko au lieu de 777ko c'est pas mal
      Donc nous pouvons continuer
      0
    3. Claire_1982 Messages postés 149 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour !

      ahah non je ne pense pas être daltonienne (du moins pas encore...) en fait je souhaiterais que vous m'expliquiez pourquoi le vert clair et le vert foncé ? Quelle est la différence ? J'ai essayé le vert clair en sélectionnant plusieurs pages pensant qu'une saisie pourrait incrémenter l'ensemble des pages sélectionnées mais non ça ne marche pas donc pourriez vous m'expliquer la différence entre vert clair et foncé s'il vous plaît.

      Ce travail comportant des données clients et entreprise je ne peux malheureusement pas vous donner le libellé des postes, pourriez-vous m'indiquer la marche à suivre pour ajouter une zone de texte ou du moins la modifier. Il en est de même pour l'intitulé des postes des pages (ça je sais qu'il faut toucher au Caption)


      recliquer pour mettre a jour les textbox avec les nouvelles infos de la page selectionnee

      ok j'ai compris ! :-) si le fait de rafraîchir alourdit le fichier "lourdement" alors c'est ok je suis preneuse de cette version !

      Très beau travail encore !!!
      Je vous remercie et dans l'attente d'ouvrir votre prochain fichier, je vous souhaite un bon réveil au vu de l'heure qu'il est en métropole !

      Claire
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Claire_1982 Messages postés 149 Statut Membre
       
      Bonjour,

      Bien reveillee ce soir.
      Ce sont des ToggleButton pour le choix des postes, mais dans la version que je finalise, ils sont remplaces par des labels (couleurs plus "lisibles"), si vous avez des couleurs preferees dites le(normalement il faut des couleurs vives et tranchees, ex: Vert/Rouge ou Vert/Bleu en changeant aussi la couleur du texte)

      ok j'ai compris ! :-) si le fait de rafraîchir alourdit le fichier "lourdement" alors c'est ok je suis preneuse de cette version !
      Non, pas de probleme de lourdeur, je vous fais ca: rafraichissement de la page active ou par defaut j'active la page 1 c'est vous qui choisissez

      la marche à suivre pour ajouter une zone de texte ou du moins la modifier
      Le label pour le libelle long est en place et je fais le code pour ecrire ce libelle
      0
    5. Claire_1982 Messages postés 149 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Concernant les labels je pourrai modifier le nom dans les propriétés Caption ? Pour les couleurs, vert qd sélectionné, et si possible un jaune se rapprochant de la couleur de l'image de fond "papier ancien" quand pas sélectionné.(un jaune un peu plus foncé histoire de le dépareiller du papier ancien. La couleur du texte noir Gras qd sélect et Normal qd pas sélectionné.

      Et pour le reste, par défaut, activation de la page1 s'il vous plait.

      Merci encore, vraiment !

      Bonne fin de journée à vous !
      0
  7. Claire_1982 Messages postés 149 Statut Membre
     
    Bonjour HugoHerbomez,

    Merci pour votre message, je vais voir ce que je peux faire.

    Cordialement,

    Claire
    0
  8. HugoHerbomez Messages postés 59 Statut Membre 2
     
    Bonjour à tous,

    Vous devriez recommencer un sujet afin de nous apporter les modifications apportées Claire. ça sera plus rapide pour nous et pour vous au final!

    Merci et bon courage
    -2