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 :

Le contenu des textbox de l'userform est inséré sous le tableau [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Le contenu des textbox de l'userform est inséré sous le tableau
    Bonjour

    Je sollicite votre assistance pour résoudre le problème de transfert du contenu de l'Userform vers le tableau. Celui-ci est situé sous le tableau et non dans le tableau. Je ne suis pas un expert en VBA.

    Pour le fonctionnement de l'Userform, les textbox N° du jour et date sont renseignés automatiquement, les textbox Itinéraire et type de voie sont remplis quand la textbox N° d'étape est renseignée, la textbox dénivelé total est calculé automatiquement quand les textbox dénivelé + et - sont renseignées.

    Je joins le fichier en pièce jointe.

    Je vous remercie par avance pour votre aide.

    Cordialement E.B
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 000
    Par défaut
    Hello,

    j'ai testé votre formulaire et pour moi tout va très bien... vous pouvez préciser quel est le problème que vous constatez ?
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  3. #3
    Membre expérimenté
    Homme Profil pro
    libre
    Inscrit en
    Septembre 2024
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Septembre 2024
    Messages : 126
    Par défaut
    Correction du code de validation, si le problème est dans cette partie ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    Private Sub btnValider_Click()
        Dim L As Integer
        Dim tb, i, TxtBox As Object
        Dim ErrMsg As String, HasErr As Boolean
    'If MsgBox("Confirmez-vous la création de ce nouvel ajout?") = vbYes then No("Demande de confirmation d'ajout") = vbYes Then
        ReDim tb(1 To 1, 1 To 11)
     
    'On cherche la prochaine ligne vide de la source
     
        L = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row + 1
     
        For i = 1 To 11 ' nombres de colonnes
            Set TxtBox = Controls("TextBox" & i)
            HasErr = TxtBox.Text = ""
            ErrMsg = ""
            On Error GoTo Eh
            Select Case i
                 Case 1: tb(1, i) = CStr(TxtBox)
                 Case 2: tb(1, i) = TxtBox
                 Case 3:
                      ErrMsg = "Veuillez saisir le N° de l'étape."
                      tb(1, i) = CInt(TxtBox)
                 Case 4: tb(1, i) = CStr(TxtBox)
                 Case 5: ErrMsg = "Veuillez saisir le nombre de km parcourus."
                      tb(1, i) = CInt(TxtBox)
                 Case 6: ErrMsg = "Veuillez saisir le Temps de marche."
                       tb(1, i) = CDate(TxtBox)
                 Case 7: ErrMsg = "Veuillez saisir le déniveler +."
                        tb(1, i) = CInt(TxtBox)
                 Case 8: ErrMsg = "Veuillez saisir le déniveler -."
                       tb(1, i) = CInt(TxtBox)
                 Case 9: tb(1, i) = CInt(TxtBox)
                 Case 10: ErrMsg = "Veuillez saisir L'heure d'arrivée."
                       tb(1, i) = TxtBox.Value
                 Case 11: tb(1, i) = CStr(TxtBox)
            End Select
            If HasErr Then Exit For
        Next
    Eh:
     If (Err.Number <> 0) Or HasErr Then
         Err.Clear
         TxtBox.SelStart = 0
         TxtBox.SelLength = 1000
         If ErrMsg = "" Then: ErrMsg = "Valeur incorrecte pour ce champ" ' message d'erreur par défaut
         MsgBox ErrMsg, vbExclamation
         TxtBox.SetFocus
         Exit Sub
      End If
      Sheets("Feuil2").Range("A" & L).Resize(1, 11) = tb
      Feuil3.Range("L9") = Feuil3.Range("L9") + 1
     
    'Réinitialise le contenu des TexteBox
     
        Me.TextBox1 = ""
        Me.TextBox2 = ""
        Me.TextBox3 = ""
        Me.TextBox4 = ""
        Me.TextBox5 = ""
        Me.TextBox6 = ""
        Me.TextBox7 = ""
        Me.TextBox8 = ""
        Me.TextBox9 = ""
        Me.TextBox10 = ""
        Me.TextBox11 = ""
        'Me.lblMessage = ""
     
        'End If
     
     
    End Sub

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Réponce
    Citation Envoyé par Nain porte koi Voir le message
    Hello,

    j'ai testé votre formulaire et pour moi tout va très bien... vous pouvez préciser quel est le problème que vous constatez ?
    Le problème que je rencontre est que le contenu renseigné dans l'userform se met sur la dernière ligne mes hor du tableau.

  5. #5
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 000
    Par défaut
    Ben pas chez moi
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Essai avec la correction du code
    Bonjours
    Je viens d'installer la correction du code faite par rMist 2024. Tout fonctionne comme avant seul la date est reconnue comme texte pour le reste rien n'a changé le contenu est toujours envoyé sous le tableau. Après lecture du message de Nain porte Koi, j'ai changé de PC et tout fonctionne correctement. Le PC fonctionne avec Office Pro Plus 2016 et là tout fonctionne correctement, (le contenu est bien inséré dans la tableau). Il doit y avoir un problème avec ma version d'Office sur mon PC de bureau ( j'ai Office Pro Plus 2021).

    Je tiens à remercier rMist2024 pour la correction du code et à Nai porte Koi pour avoir soulevé un problème de version d'Office si c'en est bien un.

    Cordialement: Emmanuel

  7. #7
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 041
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Sur le poste où ça ne fonctionne pas (le tableau ne s'agrandit pas)
    Vérifier dans :
    Onglet Fichier - Options
    Vérification
    Bouton Options de corrections automatiques
    Onglet Mise en forme automatique au cours de la frappe
    Si "Inclure des nouvelles lignes et colonnes dans le tableau" est coché

    Edit : ça devient vraiment n'importe quoi leur classement des options...
    :bug:

  8. #8
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Ben pas chez moi
    Bonjours
    Je viens d'installer la correction du code faite par rMist 2024. Tout fonctionne comme avant seul la date est reconnue comme texte pour le reste rien n'a changé le contenu est toujours envoyé sous le tableau. Après lecture du message de Nain porte Koi, j'ai changé de PC et tout fonctionne correctement. Le PC fonctionne avec Office Pro Plus 2016 et là tout fonctionne correctement, (le contenu est bien inséré dans la tableau). Il doit y avoir un problème avec ma version d'Office sur mon PC de bureau ( j'ai Office Pro Plus 2021).

  9. #9
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Problème résolu
    Citation Envoyé par tototiti2008 Voir le message
    Bonjour,

    Sur le poste où ça ne fonctionne pas (le tableau ne s'agrandit pas)
    Vérifier dans :
    Onglet Fichier - Options
    Vérification
    Bouton Options de corrections automatiques
    Onglet Mise en forme automatique au cours de la frappe
    Si "Inclure des nouvelles lignes et colonnes dans le tableau" est coché

    Edit : ça devient vraiment n'importe quoi leur classement des options...

    Merci, c'était bien un problème avec l'option indiquée ci-dessus, tout fonctionne correctement maintenant. (Je n'aurais jamais résolu tout seul ce type de problème).

  10. #10
    Membre habitué
    Homme Profil pro
    Technicien art graphique
    Inscrit en
    Mai 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien art graphique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 8
    Par défaut Problème résolu
    Je souhaite exprimer ma reconnaissance envers toutes les personnes qui ont contribué à résoudre mon problème.( Ces cases ne sont pas cochées dans les OptioJe ns de corrections automatiques.) Un merci tout particulier à rMist2024 pour son travail sur la Correction du code de validation.

    Bien cordialement à tous

  11. #11
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 000
    Par défaut
    @tototiti2008 y'a que des (bons) formateurs qui vont cherchez des options totalement improbables... et qui les trouvent
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 454
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 454
    Par défaut
    Citation Envoyé par Emmanuel-G Voir le message
    Le problème que je rencontre est que le contenu renseigné dans l'userform se met sur la dernière ligne mes hor du tableau.
    Hello,
    Quid de passer par des collections ?

  13. #13
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 041
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Hello,
    Quid de passer par des collections ?
    En effet, ce serait la solution quelles que soient les options d'Excel, ajouter une ligne à l'objet Tableau et la remplir

    Je suppose qu'il faudrait juste modifier la ligne du code de rMist2024 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Sheets("Feuil2").Range("A" & L).Resize(1, 11) = tb
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim LR as ListRow
    Set LR = Sheets("Feuil2").ListObjects("Tableau7").ListRows.Add
    LR.Range.value = tb
    Set LR = Nothing
    ça pourrait être l'occasion de donner des noms aux feuilles et aux tableaux autre chose que Feuil2 et Tableau7, mais bon
    :bug:

  14. #14
    Membre expérimenté
    Homme Profil pro
    libre
    Inscrit en
    Septembre 2024
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Septembre 2024
    Messages : 126
    Par défaut
    Je viens d'installer la correction du code faite par rMist 2024. Tout fonctionne comme avant seul la date est reconnue comme texte pour le reste rien n'a changé le contenu est toujours envoyé sous le tableau.
    Le code que j'ai posté corrige une grave bug dans la gestion des erreurs, si une mauvaise saisie est faite, des données sont partiellement insérées dans la feuille surtout dans la colonne A et si on retente de corriger la frappe une nouvelle ligne sera insérée. car le programme se base sur cette colonne pour ajouter la prochaine ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      L = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row + 1
    J'ai corriger mon ancien code : Les noms des champs dans les messages d'erreurs ne sont pas exactes.

  15. #15
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 000
    Par défaut
    @rMist2024, pourquoi ne pas utiliser ActiveSheet.Range("E12").CurrentRegion.Rows.Count, je pense que ça permet de s'affranchir de la colonne, non ? (E12 étant n'importe quelle cellule)
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  16. #16
    Membre expérimenté
    Homme Profil pro
    libre
    Inscrit en
    Septembre 2024
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Septembre 2024
    Messages : 126
    Par défaut
    Le code n'est pas le mien, mais merci pour cette info que je ne connais pas,
    je ne savais pas que UsedRange peut agir individuellement sur les colonnes .

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

Discussions similaires

  1. Vérifier le contenu des TextBox
    Par Raadgever596 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/12/2008, 15h21
  2. faire apparaitre des textbox dans un userform
    Par petiteabeille64 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2008, 18h00
  3. echange de contenu de textbox entre 2 userform
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/11/2007, 22h50
  4. Contenu des textbox
    Par amwus dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 28/10/2007, 23h32
  5. Sauvegarder le contenu des TextBox.
    Par llaffont dans le forum C#
    Réponses: 19
    Dernier message: 28/08/2007, 13h17

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