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 :

formulaire de saisie


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut formulaire de saisie
    Bonjour

    Ci-dessous un exemple
    Je voudrais insérer des lignes dans un tableau sous via un formulaire
    J'ai plusieurs tableaux dans une feuille
    quelqu'un pourrait-il m'aider ou me donner une piste SVP
    Merci
    test1

    type DESIGNATION DUMATERIEL NUMERO DE SERIE
    ordi1 box1 BG02326
    ordi2 box2 GC12ZF2
    ordi3 box3 97Y0ZF2

    test2

    TYPE DESIGNATION DUMATERIEL NUMERO DE SERIE
    ordinateur Portable1 mat 1 PS#004167
    Ordinateur Portable2 mat2 PF1HDYN4

  2. #2
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    J'ai modélisé cela dans cette contribution. J'espère qu'elle pourra t'aider.
    "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...
    ---------------

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    C'est un programme générique qui s'adapte à la BD.
    Vous pouvez ajouter des colonnes dans la BD
    Le tableau peut être vide au départ.
    Il suffit de coller la BD en A1

    Nom : Sans titre.png
Affichages : 447
Taille : 18,5 Ko


    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     Option Compare Text
    Dim nomtableau, TblBD(), NbCol
     
    Private Sub UserForm_Initialize()
     nomtableau = "Tableau1"
     NbCol = Range(nomtableau).Columns.Count
     TblBD = Range(nomtableau).Resize(, NbCol + 1).Value              ' Array: + rapide
     For i = 1 To UBound(TblBD): TblBD(i, NbCol + 1) = i: Next i      ' No enregistrement
     LabelsTextBox
     If Range(nomtableau).Item(1, 1) <> "" Then n = Range(nomtableau).Rows.Count + 1 Else n = 1
     Me.enreg = n
     Me.TextBox1 = Application.Max(Range(nomtableau).Columns(1)) + 1
     Tri TblBD, LBound(TblBD), UBound(TblBD), 2
     Me.Recherche.List = TblBD
     TextBoxRecherche_Change
    End Sub
     
    Private Sub Recherche_Change()
      Me.enreg = Application.Match(Val(Me.Recherche), Range(nomtableau).Columns(1), 0)
      Me.TextBox1 = Me.Recherche
      For i = 2 To NbCol
         Me("textbox" & i) = Range(nomtableau).Item(enreg, i)
      Next i
    End Sub
     
    Private Sub B_précédent_Click()
     If Me.Recherche.ListIndex > 0 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex - 1
     End If
    End Sub
     
    Private Sub B_suivant_Click()
     If Me.Recherche.ListIndex < Me.Recherche.ListCount - 1 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex + 1
     End If
    End Sub
     
    Private Sub B_valid_Click()
      enreg = Me.enreg
      For c = 1 To NbCol
       If Not Range(nomtableau).Item(enreg, c).HasFormula Then
         tmp = Me("textbox" & c)
         If IsNumeric(Replace(tmp, ".", ",")) And InStr(tmp, " ") = 0 Then
            tmp = Replace(tmp, ".", ",")
            Range(nomtableau).Item(enreg, c) = CDbl(tmp)
         Else
             If IsDate(tmp) Then
               Range(nomtableau).Item(enreg, c) = CDate(tmp)
             Else
               Range(nomtableau).Item(enreg, c) = tmp
             End If
         End If
        Else
         Range(nomtableau).Item(enreg - 1, c).Copy
         Range(nomtableau).Item(enreg, c).PasteSpecial Paste:=xlPasteFormats
        End If
      Next c
      raz
      UserForm_Initialize
    End Sub
     
    Private Sub B_sup_Click()
      If MsgBox("Etes vous sûr de supprimer " & Me.TextBox2 & "?", vbYesNo) = vbYes Then
         Range(nomtableau).Rows(Me.enreg).Delete
         Me.Recherche.List = Range(nomtableau).Value
      End If
    End Sub
     
    Private Sub B_ajout_Click()
      raz
      If Range(nomtableau).Item(1, 1) <> "" Then n = Range(nomtableau).Rows.Count + 1 Else n = 1
      Me.enreg = n
      Me.TextBox1 = Application.Max(Range(nomtableau).Columns(1)) + 1
    End Sub
     
    Sub raz()
     For i = 1 To NbCol
       Me("textbox" & i) = ""
     Next i
    End Sub
     
    Sub LabelsTextBox()
       For c = 1 To NbCol
          Me("textbox" & c).Width = Range(nomtableau).Columns(c).Width * 1.3
          tmp = Range(nomtableau).Offset(-1).Item(1, c)
          Me("label" & c).Caption = tmp
          lg = Len(tmp): If Len(tmp) > 20 Then lg = 20
          Me("label" & c).Width = lg * 8
       Next
       For i = NbCol + 1 To 15: Me("label" & i).Visible = False: Me("textbox" & i).Visible = False: Next i
    End Sub
     
    Private Sub Listbox1_Click()
      ligneEnreg = Me.ListBox1.Column(3)
      Me.enreg = ligneEnreg
      For k = 1 To NbCol
        Me("textbox" & k) = Range(nomtableau).Item(ligneEnreg, k)
      Next k
    End Sub
     
    Private Sub TextBoxRecherche_Change()
      colRecherche = 1
      colRecherche2 = 2
      colRecherche3 = 3
      clé = Me.TextBoxRecherche & "*": n = 0
      Dim Tbl()
      For i = 1 To UBound(TblBD)
        If TblBD(i, colRecherche) Like clé Or TblBD(i, colRecherche2) Like clé _
           Or TblBD(i, colRecherche3) Like clé Then
            n = n + 1: ReDim Preserve Tbl(1 To 4, 1 To n)
            Tbl(1, n) = TblBD(i, colRecherche): Tbl(2, n) = TblBD(i, colRecherche2)
            Tbl(3, n) = TblBD(i, colRecherche3)
            Tbl(4, n) = TblBD(i, NbCol + 1)
         End If
      Next i
      If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Bonjour Jacques,

    Joli travail de généralisation, J'achète :-)

    Cependant si je peux me permettre :

    - J'aurais apprécié que le code soit documenté, il est assez complexe même en mode pas à pas de suivre le cheminement de vos codes.
    - Il y a aussi des bug, par exemple lorsque l'utilisateur tente d'effectuer certaine action si le tableau est vide.
    - Ne serait-il pas judicieux de mettre les procédures ( par exemple : tris, LabelsTextBox,...) dans un module que dans le code du Usf ?

    Bàv

    MFoxy
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  5. #5
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par boisgontierjacques Voir le message
    Bonjour,

    C'est un programme générique qui s'adapte à la BD.[...]
    Qui s'adapte à la DB?
    • Le nom du tableau est en dur, ça oblige à utiliser des noms de textbox et de label "tetxboxXX" et "labelXX";
    • ça impose qu'il y ait forcément quelque chose dans la première cellule du tableau (Si rien dans cette cellule, l'ajout d'une ligne via le userform écrase cette ligne);
    • Il faut que le textbox1 contienne le max de la colonne1 du tableau +1 (qui doit donc être numérique => En quoi est-ce générique? Qu'est-ce qui impose que la première colonne soit numérique? Qu'est-ce qui impose que les valeurs de cette colonne soient uniques (surtout dans Excel qui ne gère pas les clés primaires)?, etc, etc, etc?);
    • Ca charge la première ligne du tableau, l'index 1 étant spécifié en hard coding (à ne jamais faire, le hard coding), dans l'initialize;
    • La procédure Initialize ne devrait JAMAIS servir à manipuler des données métier (numéro de la ligne chargée, comme ici, ...) sinon, on n'est FORCEMENT plus générique! En fait, on ne devrait pratiquement jamais utiliser Initialize, surtout dans un brol que l'on veut générique!, sinon ben... il n'est plus générique, évidemment;
    • S'il y a plus que 15 colonnes dans le tableau, on fait quoi (Plantage!)?
    • Il n'y a pas de Option Explicit (alors que c'est impératif, pour moi);
    • Les contrôles se redimensionnent en fonction de la largeur des colonnes, et donc se "tapent dedans" si les colonnes sont trop larges
    • ...



    Où est le "générique" dans cette solution? Il n'y a pas de gestion d'erreur, et comme je ne vois nulle part que tu ajoutes les textbox et label de façon dynamique, ça veut dire que si on en oublie un ou qu'on ne les nomme pas en fonction de l'organisation du tableau (colonne = Textbox etc), c'est le plantage assuré. Si on modifie l'ordre des colonnes par la suite, on est bon pour repasser tout le code en revue.

    Règle de base à l'attention du débutant: Ne jamais organiser ton userform en fonction de l'ordre des colonnes du tableau. C'est une règle de base à ne jamais contourner.
    Autre règle de base: ne JAMAIS utiliser (ou presque, et encore) la procédure Initialize d'un userform.
    "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...
    ---------------

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2015
    Messages : 13
    Points : 4
    Points
    4
    Par défaut re formulaire
    Tout d'abord merci pour vos réponses
    Je m'explique plus clairement avec mon modèle de formulaire

    Nom : formulaire.jpg
Affichages : 448
Taille : 172,5 Ko

    Lorsque je valide test1 par exemple l'entrée des données doit se faire dans le tableau test1
    Lorsque je valide test2 l'entrée des données doit se faire dans le tableau test2
    etc …

    En attendant je vais déjà travailler sur ce que vous m'avez envoyé

    merci

  7. #7
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Voici le formulaire pour les 3 tableaux

    Les 3 tableaux peuvent avoir des structures différentes.
    L'ordre des colonnes des BD n'a pas d'importance.
    Ils sont nommés test1,test2,test3


    Nom : Sans titre.png
Affichages : 456
Taille : 50,1 Ko

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Option Compare Text
    Dim nomtableau, TblBD(), NbCol
     
    Private Sub UserForm_Initialize()
     nomtableau = Sheets("Accueil").[A1]
     Me.LabFichier.Caption = nomtableau
     NbCol = Range(nomtableau).Columns.Count
     TblBD = Range(nomtableau).Resize(, NbCol + 1).Value              ' Array: + rapide
     For i = 1 To UBound(TblBD): TblBD(i, NbCol + 1) = i: Next i      ' No enregistrement
     LabelsTextBox
     If Range(nomtableau).Item(1, 1) <> "" Then n = Range(nomtableau).Rows.Count + 1 Else n = 1
     Me.enreg = n
     Me.TextBox1 = Application.Max(Range(nomtableau).Columns(1)) + 1
     Tri TblBD, LBound(TblBD), UBound(TblBD), 2
     Me.Recherche.List = TblBD
     TextBoxRecherche_Change
    End Sub
     
    Private Sub Recherche_Change()
      Me.enreg = Application.Match(Val(Me.Recherche), Range(nomtableau).Columns(1), 0)
      Me.TextBox1 = Me.Recherche
      For i = 2 To NbCol
         Me("textbox" & i) = Range(nomtableau).Item(enreg, i)
      Next i
    End Sub
     
    Private Sub B_précédent_Click()
     If Me.Recherche.ListIndex > 0 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex - 1
     End If
    End Sub
     
    Private Sub B_suivant_Click()
     If Me.Recherche.ListIndex < Me.Recherche.ListCount - 1 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex + 1
     End If
    End Sub
     
    Private Sub B_valid_Click()
      enreg = Me.enreg
      For c = 1 To NbCol
       If Not Range(nomtableau).Item(enreg, c).HasFormula Then
         tmp = Me("textbox" & c)
         If IsNumeric(Replace(tmp, ".", ",")) And InStr(tmp, " ") = 0 Then
            tmp = Replace(tmp, ".", ",")
            Range(nomtableau).Item(enreg, c) = CDbl(tmp)
         Else
             If IsDate(tmp) Then
               Range(nomtableau).Item(enreg, c) = CDate(tmp)
             Else
               Range(nomtableau).Item(enreg, c) = tmp
             End If
         End If
        Else
         Range(nomtableau).Item(enreg - 1, c).Copy
         Range(nomtableau).Item(enreg, c).PasteSpecial Paste:=xlPasteFormats
        End If
      Next c
      raz
      UserForm_Initialize
    End Sub
     
    Private Sub B_sup_Click()
      If MsgBox("Etes vous sûr de supprimer " & Me.TextBox2 & "?", vbYesNo) = vbYes Then
         Range(nomtableau).Rows(Me.enreg).Delete
         Me.Recherche.List = Range(nomtableau).Value
      End If
    End Sub
    Private Sub B_ajout_Click()
      raz
      If Range(nomtableau).Item(1, 1) <> "" Then n = Range(nomtableau).Rows.Count + 1 Else n = 1
      Me.enreg = n
      Me.TextBox1 = Application.Max(Range(nomtableau).Columns(1)) + 1
    End Sub
    Sub raz()
     For i = 1 To NbCol
       Me("textbox" & i) = ""
     Next i
    End Sub
     
    Sub LabelsTextBox()
       For c = 1 To NbCol
          Me("textbox" & c).Width = Range(nomtableau).Columns(c).Width * 1.3
          tmp = Range(nomtableau).Offset(-1).Item(1, c)
          Me("label" & c).Caption = tmp
          lg = Len(tmp): If Len(tmp) > 20 Then lg = 20
          Me("label" & c).Width = lg * 8
       Next
       For i = NbCol + 1 To 15: Me("label" & i).Visible = False: Me("textbox" & i).Visible = False: Next i
    End Sub
     
    Private Sub Listbox1_Click()
      ligneEnreg = Me.ListBox1.Column(3)
      Me.enreg = ligneEnreg
      For k = 1 To NbCol
        Me("textbox" & k) = Range(nomtableau).Item(ligneEnreg, k)
      Next k
    End Sub
     
    Private Sub TextBoxRecherche_Change()
      colRecherche = 1
      colRecherche2 = 2
      colRecherche3 = 3
      clé = Me.TextBoxRecherche & "*": n = 0
      Dim Tbl()
      For i = 1 To UBound(TblBD)
        If TblBD(i, colRecherche) Like clé Or TblBD(i, colRecherche2) Like clé _
           Or TblBD(i, colRecherche3) Like clé Then
            n = n + 1: ReDim Preserve Tbl(1 To 4, 1 To n)
            Tbl(1, n) = TblBD(i, colRecherche): Tbl(2, n) = TblBD(i, colRecherche2)
            Tbl(3, n) = TblBD(i, colRecherche3)
            Tbl(4, n) = TblBD(i, NbCol + 1)
         End If
      Next i
      If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
    End Sub

    Boisgontier
    Fichiers attachés Fichiers attachés

  8. #8
    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 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    @Bruthe,

    Note que des codes tels que ceux proposés dans la "solution" qui t'a été proposée, outre la syntaxe à crochets dont j'ai déjà parlé et que les aficionados sont infoutus de justifier sur le plan technique, imposent une feuille dont le nom d'onglet est "Accueil", et qui reçoit le choix "Test1" etc en dur et en A1, ce qui est évidemment une très mauvais pratique. On ne met JAMAIS en hardcoding des notions qui peuvent être modifiées dans l'interface.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub afficheformSaisieTest1()
      Sheets("Accueil").[A1] = "test1"
      UserFormSaisie.Show
    End Sub
    Sub afficheformSaisieTest2()
      Sheets("Accueil").[A1] = "test2"
      UserFormSaisie.Show
    End Sub
    Sub afficheformSaisieTest3()
      Sheets("Accueil").[A1] = "test3"
      UserFormSaisie.Show
    End Sub
    De plus, il n'est nullement utile de mettre ce genre de truc en place pour que le userform bascule d'un tableau à l'autre. Par contre, tu parles de "test1", "test2", etc... Il me semble dès lors peu pertinent de mettre cela en dur dans ton userform avec des cases à cocher...

    Pourrais-tu nous dire, en français et sans jargon Excel ou VBA, ce que tu souhaites réaliser?
    "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...
    ---------------

  9. #9
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Je me permet une petite parenthèse à l'intention de Jacques Boisgontier,

    Bonjour Monsieur Jacques,


    Je tenais à vous remercier pour vos jolis Pièce jointe 555752 , ceux-ci répondent parfaitement et de manière très constructives à mes interrogations, qui étaient données uniquement dans le but de m'instruire et de tenter de comprendre votre code.

    Au vus des commentaires laissés par des membres des plus compétent de ce forum, qui par leur approche professionnelle ,pédagogique et perenne de coder , mon permis de m'initier à un codage qualitatif et généralisable.Je me rend compte que mes doutes/questions sur votre "code générique", qui ceci dit relève plus du Hard Coding , était la bonne, il semble bien foutu de prime abord mais en grattant et testant c'est une autre histoire.

    Je vous remercie du temps que vous aurez pris à affubler ce petit billet d'humeur de votre rouge signature, après je l'espère sa lecture , et vous retourne ce même compliment de bon coeur.


    "L'entêtement sans intelligence, c'est la sottise soudée au bout de la bêtise et lui servant de rallonge."
    Victor Hugo
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

Discussions similaires

  1. entrée sur un formulaire de saisie
    Par aujero dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 09h49
  2. Réponses: 4
    Dernier message: 09/02/2006, 08h36
  3. faire un formulaire de saisie
    Par navona dans le forum IHM
    Réponses: 10
    Dernier message: 07/12/2005, 14h12
  4. Réponses: 3
    Dernier message: 28/11/2005, 15h04
  5. Réponses: 3
    Dernier message: 24/02/2005, 15h48

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