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 :

Imposer un format numérique nombre entier à un textBox. [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut Imposer un format numérique nombre entier à un textBox.
    Bonsoir à tous,

    Je parviens à imposer le format nombre lors du renseignement d'un textBox mais lorsqu'il arrive à destination, il se change en texte.

    Voici le code utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub textBox1_Change() 'Force le format numérique pour le nombre entier du textBox1
        On Error Resume Next
     
        If Not IsNumeric(Right(TextBox1, 1)) Then
            MsgBox "Le caractere saisi n'est pas valide"
            TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
        End If
    End Sub
    Ce code fonctionne dans la mesure ou il impose de taper du chiffre dans le textBox.
    En revanche, une fois arrivé à destination il renvoie bien le bon nombre mais au format texte malgré que la cellule d'arrivée soit bien au format nombre.

    Pourriez-vous me dire l'erreur que je commet ici.

    J'ajoute que j'ai le même genre d'ennuis pour un numéro de sécurité sociale.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Je ne vois pas le code qui transmet la valeur à une cellule mais le principe est de transtyper la valeur, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    macellule.value = cdbl(textbox1.text)
    Petite remarque pour le contrôle du contenu du textbox, je serais toi je testerais le fait de contrôler la touche pressée en testant si elle fait partie des valeurs numérique 0 à 9 plus le séparateur décimal, tout ça dans KeyPress plutôt que dans change.
    L'avantage ? J'en vois un très gros !
    Si l'utilisateur à l'idée farfelue de corriger sa saisie en ajoutant un caractère ailleurs qu'en fin de texte :
    "245" puis j'ajoute la lettre "A" entre le 2 et 4 ... ça garde le "A" et ça t'efface le 5...


    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre expérimenté
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Par défaut
    Bonjour, pardonnez ma question si elle est bête. la saisie dans le textbox est alphanumérique ou entièrement numérique ?

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Pas de question bête.

    Le Textbox à l'origine accepte n'importe quel caractère, donc on peut le décrire comme alphanumérique.
    Ici le but et de faire en sorte qu'il n'accepte que des valeurs numériques.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre expérimenté
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Par défaut
    Sans aucun doute Qwazerty, quand je lis l'enoncé je comprends que le résultat final(dans sa cellule) n'est pas exploitable en tant que donnée numérique. D'où ma question sur la nature de la saisie car je pense que l'erreur vient d'ici. Il renseigne dans sa cellule des lettres et des chiffres mais ne peut ensuite les exploiter pour du calcul :/

    Ceci dit je peux me tromper car il est tard pour mon pauvre cerveau
    :/

  6. #6
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Bonsoir à vous,

    Non, je confirme bien que je n'entre que du numérique dans mon textBox1.
    D'autres textBox de mon userform ne renseignent que du texte.

    Le problème est donc bien à l'arrivée.

    Voici le code utilisé pour renseigner les cellules.
    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
    Private Sub CommandButton1_Click()
     
    Dim ctrl As Control
    Dim Colonne As Integer
    Dim derligne As Integer
     
    'TextBox1.Value = Format(TextBox1.Value, "0"" ""00"" ""00"" ""00"" ""000"" ""000"" ""00")
    'TextBox4.Value = Format(TextBox4.Value, "dd/mm/yyyy") 'Voir le Private Sub TextBox4_Change()pour ce control
    'TextBox5.Value = Format(TextBox5.Value, "0000")
    'TextBox7.Value = Format(TextBox7.Value, "00000")
    'TextBox9.Value = Format(TextBox9.Value, "00"" ""00"" ""00"" ""00"" ""00")
    'TextBox10.Value = Format(TextBox10.Value, "00"" ""00"" ""00"" ""00"" ""00")
     
    TextBox1.Value = CDbl(TextBox1)
    'TextBox4.Value = CDbl(TextBox4)
    'TextBox5.Value = CDbl(TextBox5)
    'TextBox7.Value = CDbl(TextBox7)
    'TextBox9.Value = CDbl(TextBox9)
    'TextBox10.Value = CDbl(TextBox10)
     
    'If Not IsDate(TextBox4) Then
            'MsgBox "Format incorrect"
            'TextBox4 = ""
            'Exit Sub
            'Else
            'MsgBox "Format correct"
            '...la suite de la procédure
        'End If
     
    ' derligne est le numéro de la première ligne vide du tableau à remplir
    derligne = Sheets("Répertoire").Range("A2000").End(xlUp).Row + 1
     
    ' Balaye tous les control un par un avec le for ... next
    For Each ctrl In UserForm1.Controls
     
    ' La colonne de destination est donnée par la valeur du TAG de chaque control
    Colonne = Val(ctrl.Tag)
     
    ' Si la valeur du TAG n'est pas 0, l'intersection de derligne et de colonne est une cellule
    ' qui prendra la valeur "ctrl" cad celle contenue dans le control
    If Colonne > 0 Then Sheets("Répertoire").Cells(derligne, Colonne) = ctrl
     
    ' Ici le next fait passer au ctrl suivant
    Next
    End
     
    End Sub
    Désolé j'ai gardé beaucoup de commentaires.

    Merci à vous.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Par défaut
    Entendu, alors dans se cas là pourquoi pas essayer ceci, (a titre d'exemple si la cellule de destination est la C26)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(machin).range("c26") = Sheets(machin).range("c26") * 1
    En multipliant par 1 vous forcez, il me semble, le format numérique.

  8. #8
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Même si tu limites les caractères aux seuls caractère numérique, le contenu du textbox restera toujours du texte, les CDbl() doit être fait au moment du passage de la valeur à la cellule. Ce qui dans ton cas va poser problème car tu n'as qu'une seule ligne pour faire la passage de données de type différents.

    Attention au raccourci, VBA en effet complète souvent de lui-même mais gare aux surprises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Il vaut mieux préciser le classeur sur lequel tu travailles
    If Colonne > 0 Then ThisWorkbook.Sheets("Répertoire").Cells(derligne, Colonne).value = ctrl.text
    Tu peux peut-être tester si ctrl.text est numeric (IsNumeric) et si c'est le cas appliquer un format numérique à ta cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if isnumeric(ctrl.text) then ThisWorkbook.Sheets("Répertoire").Cells(derligne, Colonne).FormatNumber = "0" 'faire un enregistrement de macro pour avoir le format que tu souhaites

    Si tu veux mettre ton fichier (sans donnée perso) en lien, je pense que l'utilisation d'un tableau simplifierait les choses.


    Citation Envoyé par (WOLF) Voir le message
    Sans aucun doute Qwazerty, quand je lis l'enoncé je comprends que le résultat final(dans sa cellule) n'est pas exploitable en tant que donnée numérique. D'où ma question sur la nature de la saisie car je pense que l'erreur vient d'ici. Il renseigne dans sa cellule des lettres et des chiffres mais ne peut ensuite les exploiter pour du calcul :/

    Ceci dit je peux me tromper car il est tard pour mon pauvre cerveau
    :/
    Non, en fait dans son code il teste le "dernier caractère saisi" (pas tout à fait vrai dans tous les cas, voir mon message précédent), si ce caractère est non numérique, il le supprime du textbox.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  9. #9
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  10. #10
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Bonsoir et merci à vous,

    La première lecture de vos réponses m'a laissé sans voix, car je trouvais l'ensemble d'une rare complexité bien au dessus de mes moyens.
    La deuxième lecture était moins "ébouriffante".
    Dommage qu'une "numericBox" n'existe pas comme une "textBox" quand même.
    Kiki29 tu m'as encore donné un raccourci bien cool.
    Comme je ne vais pas lamentablement vous demander de faire tout le travail à ma place je vais m'acharner un peu pour voir et tester ce que
    vous me proposez.
    Sans doute que je reviens rapidement.

    A la demande de Qwazerty je place mon fichier en pièce attachée.
    Je précise que toutes les données sont fictives.

    Merci encore.
    Fichiers attachés Fichiers attachés

  11. #11
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, solution minimaliste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Const entrees_entieres_permises = "0123456789"
     
    Private Sub TextBoxXYZ_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        If InStr(entrees_entieres_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub

  12. #12
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Bonjour à tous,

    Kiki29, tu ne dors donc jamais ??
    Je viens de tester le code, splendide et si simple, que tu proposes mais il ne fonctionne pas ou alors je ne l'ai pas compris et placé au mauvais endroit dans mon propre code.

    Question 1 : Dois-je comprendre que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBoxXYZ_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        If InStr(entrees_entieres_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End Sub
    s'adresse à tous les textBox de mon code ou bien faut-il en créer 1 par textBox numérique ??

    Question 2 : Ne dois-je pas placer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
     
    Const entrees_entieres_permises = "0123456789"
    dans la partie "Général" de mon code ??

    J'ai bien essayé plusieurs solutions mais aucune ne retournent du nombre dans ma cellule de destination.

  13. #13
    Membre expérimenté
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Par défaut
    Bonjour, pardonnez moi si je suis encore à l'ouest

    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
    Private Sub CommandButton1_Click()
     
    Dim ctrl As Control
    Dim Colonne As Integer
    Dim derligne As Integer
     
    'TextBox1.Value = Format(TextBox1.Value, "0"" ""00"" ""00"" ""00"" ""000"" ""000"" ""00")
    'TextBox4.Value = Format(TextBox4.Value, "dd/mm/yyyy") 'Voir le Private Sub TextBox4_Change()pour ce control
    'TextBox5.Value = Format(TextBox5.Value, "0000")
    'TextBox7.Value = Format(TextBox7.Value, "00000")
    'TextBox9.Value = Format(TextBox9.Value, "00"" ""00"" ""00"" ""00"" ""00")
    'TextBox10.Value = Format(TextBox10.Value, "00"" ""00"" ""00"" ""00"" ""00")
     
    TextBox1.Value = CDbl(TextBox1)
    'TextBox4.Value = CDbl(TextBox4)
    'TextBox5.Value = CDbl(TextBox5)
    'TextBox7.Value = CDbl(TextBox7)
    'TextBox9.Value = CDbl(TextBox9)
    'TextBox10.Value = CDbl(TextBox10)
     
    'If Not IsDate(TextBox4) Then
            'MsgBox "Format incorrect"
            'TextBox4 = ""
            'Exit Sub
            'Else
            'MsgBox "Format correct"
            '...la suite de la procédure
        'End If
     
    ' derligne est le numéro de la première ligne vide du tableau à remplir
    derligne = Sheets("Répertoire").Range("A2000").End(xlUp).Row + 1
     
    ' Balaye tous les control un par un avec le for ... next
    For Each ctrl In UserForm1.Controls
     
    ' La colonne de destination est donnée par la valeur du TAG de chaque control
    Colonne = Val(ctrl.Tag)
     
    ' Si la valeur du TAG n'est pas 0, l'intersection de derligne et de colonne est une cellule
    ' qui prendra la valeur "ctrl" cad celle contenue dans le control
    If Colonne > 0 Then Sheets("Répertoire").Cells(derligne, Colonne) = ctrl
     
    ' Ici le next fait passer au ctrl suivant
    Next
     
    Dim dl As Long
    dl = Sheets(1).Range("a" & Rows.Count).End(xlUp).Row
    Sheets(1).Range("a" & dl) = Sheets(1).Range("a" & dl) * 1
    End Sub
    Se code (modifié) est fonctionnel. Il insere bien le N° de sécu au bon format dans la colonne A.

    Cordialement,

    Bonne continuation

  14. #14
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, ici pour le n° de sécu par exemple cela fonctionne parfaitement. un conseil ajoute option explicit à tout tes codes cela t'évitera qqs surprises, supprime les on error resume next dans les texboxes etc ...

  15. #15
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Salut,

    Très content, la solution de Wolf fonctionne parfaitement et je l'ai dupliquée pour les autres textbox.

    Kiki29 dit :
    un conseil ajoute option explicit à tout tes codes cela t'évitera qqs surprises, supprime les on error resume next dans les texboxes etc ...
    Pourrais-tu expliquer quel est l'intérêt stp.

    Merci pour tout.

  16. #16
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Option Explicit oblige à déclarer l'ensemble de variables utilisé dans le module, ça évite de galérer avec une macro qui ne fait pas ce qu'on attend d'elle pour finalement se rendre compte qu'on a mal écrit une des variable à un endroit du code... avec Option Explicit, si le code rencontre une variable qu'il ne connait pas il stoppe en début de procédure.

    Les on error resume next ne devraient être placer qu'a la mise en exploitation du fichier (et encore), les placer durant la phase de développement (hors cas particulier pour des gestion d'erreur maitrisée) est à mon avis une erreur, car comme son nom l'indique, si VBE rencontre une erreur, il passera simplement à la ligne d'après... pas terrible pour le débogage du code.

    Sinon en jetant un coup d'oeil vite fait (le problème étant résolu) tu peux alléger un peu ton code de cette façon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub textBox9_Change() 'Force le format numérique pour le nombre entier du textBox9
        TxtChange textebox9
    End Sub
    Private Sub textBox10_Change() 'Force le format numérique pour le nombre entier du textBox10
        TxtChange TextBox10
    End Sub
     
    Sub TxtChange(TxtBox As TextBox)
        If Not IsNumeric(Right(TxtBox.Text, 1)) Then
            MsgBox "Le caractere saisi n'est pas valide"
            TextBox10 = Left(TxtBox.Text, Len(TxtBox.Text) - 1)
        End If
     
    End Sub
    Ici pour ne pas être brider sur la longueur du tableau (2000 lignes max ici), il est préférable d'utiliser cette écriture (à moins bien sur que d'autre donnée se trouve après la ligne 2000 et qui ne font pas partie de celles devant être traitées)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    with ThisWorkbook.Sheets("Répertoire") 'toujours spécifier le classeur sur lequel on travail ici ThisWorkbook représente le classeur qui contient la macro en cours d'exécution)
         derligne = .cells(.rows.count,"A").End(xlUp).Row + 1
    End With
    ++
    Qwaz

    PS: La solution proposée est peut-être fonctionnelle mais je ne voudrais pas maintenir le code derrière .
    Il n'y a que la colonne A qui contient des valeurs numériques?
    Pourquoi rechercher la dernière ligne, on la connait déjà puisqu'on travaillait dessus juste avant (derligne).

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  17. #17
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Bonsoir Qwaz,

    Merci pour ton aide.

    Pour répondre à ton PS :
    PS: La solution proposée est peut-être fonctionnelle mais je ne voudrais pas maintenir le code derrière.
    Oui la solution adoptée est fonctionnelle mais je reconnais que le code d'ensemble est compliqué.
    De quel code parles-tu ici lorsque tu dis "mais je ne voudrais pas maintenir le code derrière" ?

    Il n'y a que la colonne A qui contient des valeurs numériques?
    Non, j'ai 6 colonnes qui contiennent des valeurs numériques.

    Pourquoi rechercher la dernière ligne, on la connait déjà puisqu'on travaillait dessus juste avant (derligne).
    Je suis bien obligé de rechercher la dernière ligne pour compléter ma base de contacts, comment faire sinon ?

    A ++
    Cadet69

  18. #18
    Membre expérimenté
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Par défaut
    Certaines phrases me sont adressées sans finesse dans les sous-entendu, c'est regrettable mais c'est ainsi, bonne continuation.

  19. #19
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2015
    Messages : 26
    Par défaut
    Bonsoir à toi Wolf,

    Je te fait mes plus plates excuses si j'ai dit ou écris quelque chose susceptible d'être regardé comme inconvenant ou manquant de finesse.
    Ce genre de manquement n'est pas habituel chez moi et ce serait même plutôt l'inverse.

    Mille pardons donc.

    Et encore merci pour ton aide sans laquelle je pataugerais certainement encore.

    Cadet69.

  20. #20
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Non Cadet69, je pense que c'est par rapport à la phrase que j'ai mis plus haut
    La solution proposée est peut-être fonctionnelle mais je ne voudrais pas maintenir le code derrière.
    N'y vois aucune offense Wolf, j'ai juste dis ce que je pense sans plus de sous entendu. J'ai fait pareil au début quand j'apprenais le VB mais tu verras petit à petit que VB à des solutions "propre" pour beaucoup de problème.

    Cadet69, puisque tu as plusieurs colonnes contenant des valeurs numériques, comment as tu adapté le code fourni au dessus ?

    Pour ce qui est de chercher la dernière ligne, sauf erreur de ma part, tu l'as déjà dans la variable DerLigne.


    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. Format de nombre décimaux dans TextBox feuille
    Par pitizone dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/02/2011, 09h05
  2. textbox format numérique
    Par abouhossam dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/11/2008, 11h12
  3. Modif format nombre pour 24 TextBox
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2007, 22h26
  4. Réponses: 3
    Dernier message: 05/09/2007, 15h00
  5. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 02h25

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