XL 2016 Form Recherche Modif Ajout Sup Atiom

Atiom

XLDnaute Occasionnel
Bonjour,

J’ai récupéré une petite application de Jacques Boisgontier ci-joint et que je remercie au passage et je souhaiterais apporter une petite modification.

Pour ajouter des nouvelles fiches le bouton ajouter commence pour tout effacer.

Afin de gagner du temps (Bénéficier de certains champs déjà remplis) je souhaiterais modifier le code du bouton ajouter de manière à que dés le moment qu’un des combobox à était modifier il puisse le considérer comme une nouvelle fiche !

Par exemple entre Dupont Pierre et Dupont Marie il y a que le prénom que change :

Merci d’avance de votre aide.
 

Pièces jointes

  • FormRechercheModifAjout_Atiom.xls
    80 KB · Affichages: 73

Atiom

XLDnaute Occasionnel
Bonjour le forum,

Je relance le poste car je souhaiterais savoir s’il serait possible de rendre cette petite application un peux plus dynamique en ajoutant les possibilités ci-dessous:

D’autres bases de données

Changer les TextBox en Combobox.

Voir le fichier joint

Merci.
 

Pièces jointes

  • FormRechercheModifAjoutSupListObject_multibase_et_Combobox_2.xls
    162 KB · Affichages: 55

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

On peut changer un TextBox en ComboBox à condition que le nom du TextBox soit conservé.
Sur l'exemple, TextBox11 (activité) a été changé en ComboBox.

JB
 

Pièces jointes

  • Copie de FormRechercheModifAjoutSupCombobox_2.xls
    138.5 KB · Affichages: 59

Lone-wolf

XLDnaute Barbatruc
Bonsoir Atiom, Jacques :)

Est-ce que il y aurait possibilité d'adapter Me.ListBox1.ColumnWidths = tempcol pour Excel 2013?. À chaque fois que j'ouvre un classeur ça provoque une erreur sur cette ligne. Si je l'enlève, l'affichage dans la listbox n'est plus correcte.
 

jabenj

XLDnaute Junior
Bonjour !

Le talentueux Mr BOISGONTIER sauve toujours beaucoup de gens !!

Ce fichier merveilleux dont les textbox se multiplient automatiquement en fonction de la taille du tableau (j'en suis toujours abasourdi!) est excellent mais d'un beaucoup trop haut niveau de compréhension pour moi...
(Merci d'ailleurs pour l'astuce du renommage des combobox en textetbox ;-)

Pensez vous qu'il soit possible pour ce même fichier d'inclure X onglets permettant de rassembler Y textbox d'un même tableau d'une cinquantaine de colonnes ? Car lors de tableaux de plus d'une cinquantaine de colonnes, l'affaire est difficilement lisible...

J'ai essayé de "découper" la base de données vers plusieurs tableaux mais l'ennui, c'est la listbox qui ne suit pas... (et certainement l'adaptation que j'ai fait du code...!)

Avez-vous une idée pour cela svp ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

>Pensez vous qu'il soit possible pour ce même fichier d'inclure X onglets permettant de rassembler Y textbox d'un même tableau d'une cinquantaine de colonnes ? Car lors de tableaux de plus d'une cinquantaine de colonnes, l'affaire est difficilement lisible...

Le formulaire est prévu pour 40 colonnes maxi. L'instruction

colVisu = Array(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13)


permet de choisir les colonnes à afficher dans le ListBox

jb
 

Pièces jointes

  • Copie de FormRechercheModifAjoutSupCombobox_3.xls
    203.5 KB · Affichages: 60
Dernière édition:

Atiom

XLDnaute Occasionnel
Bonjour à tous,

Merci infiniment Jacques pour les modifications apportées à ce formulaire ainsi que pour tout le reste.

C’est impressionnant !

Effectivement Lone-wolf avec 2013 il y a une erreur dans cette ligne .

Bonne journée
 

Atiom

XLDnaute Occasionnel
Bonjour,

Impossible d’ajouter dans les champs des nombres décimaux !

Quelqu’un a une petite idée comment peut-on modifier le code ? et ou ?

Avec 10.5 comme saisie nous obtenons ( 0.420138888888889 ).

Merci de votre aide


EDIT:
Si vous n’avez pas besoin du format Date alors ci-dessous une solution .

Bonne journée.
VB:
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 IsDate(tmp) Then tmp = CDate(tmp)
     If IsNumeric(tmp) And InStr(tmp, " ") = 0 Then tmp = CDbl(tmp)
     Range(NomTableau).Item(Enreg, c) = tmp
    Else
     Range(NomTableau).Item(Enreg - 1, c).Copy
     Range(NomTableau).Item(Enreg, c).PasteSpecial Paste:=xlPasteFormats
    End If
  Next c
  UserForm_Initialize
  raz
End Sub
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Code:
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)
     tmp = Replace(tmp, ".", ",")
     If IsNumeric(tmp) And InStr(tmp, " ") = 0 Then
        Range(NomTableau).Item(Enreg, c) = CDbl(tmp)
       Else
        If IsDate(tmp) Then
          Range(NomTableau).Item(Enreg, c) = CDate(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
  UserForm_Initialize
  raz
End Sub

jb
 

Pièces jointes

  • FormRechercheModifAjoutSupCombobox_4.xls
    228.5 KB · Affichages: 52

Atiom

XLDnaute Occasionnel
Bonjour,
Merci Jacques .

Nous pouvons maintenant ajouter dans les champs des nombres décimaux !
Mais je crois qu’il y a un petit problème avec le code car il fonctionne uniquement en mode Motif.
Les valeurs ne sont pas envoyés dans la base en mode ajout et duplique !
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

Code:
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
  UserForm_Initialize
  raz
End Sub



jb
 

Pièces jointes

  • FormRechercheModifAjoutSup.xls
    202.5 KB · Affichages: 63
Dernière édition:

jabenj

XLDnaute Junior
Bonjour,

>Pensez vous qu'il soit possible pour ce même fichier d'inclure X onglets permettant de rassembler Y textbox d'un même tableau d'une cinquantaine de colonnes ? Car lors de tableaux de plus d'une cinquantaine de colonnes, l'affaire est difficilement lisible...

Le formulaire est prévu pour 40 colonnes maxi. L'instruction

colVisu = Array(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13)


permet de choisir les colonnes à afficher dans le ListBox

jb

Bonjour et merci Monsieur BOISGONTIER,

J'ai l'insigne honneur de vous annoncer que votre tableau peut comporter + de 40 colonnes (au niveau des textbox, je n'ai pas vérifié dans la listbox) !
J'en suis fier mais reste avec mon problème d'interface :
La lisiblité (meme sur un bon écran) reste laborieuse ..

Ma question intiale (certainement mal formulée) parlait d'onglets pour textbox, plutôt que d'avoir ceci (bazar pour le test) :
upload_2018-5-14_14-1-9.png


j'adorerai avoir cela (fonctionnel ;-) :
(sans connaitre par ailleurs la différence entre "tab" et "page")
upload_2018-5-14_14-7-41.png


Est-ce plus compréhensible et juste impossbile ?

Merci infiniment pour tout et votre site parfait Mr Boisgontier !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 362
Messages
2 087 635
Membres
103 618
dernier inscrit
Eraser