Bonjour Cher membres,
Cette fois je viens vers vous concernant mon souhait d'améliorer mes fiches de saisie naturaliste. Je m'explique lister des espèces sur feuille papier c'est long me suis donc inspiré d'une macro pour rechercher comme ça les noms d'espèces et au fur et à mesure que j'écrit un mot il apparait le nom d'espèces en question. Mon porblème est le suivant j'ai connaissance de deux macro, l'une pour l'autocomplétion et l'autre pour la suivi intuitive. J'aimerais fusionner ces deux macro pour le coté esthétique car ma macro complétion ici présente en image permet d'afficher un nom au fur à fur que les lettres sont écrites mais ils faut cliquer sur la fléche pour voir tous les mots commençant par ces lettres.
A l'opposé (image avec fond jaune) l'autre macro permet par sa saisie intuitive de réduire la liste en question au fur et à mesure que des lettres sont écrites et on voit directemen tla liste se réduire. Je souhaite donc fusionner ces deux macro pour avoir quand j'écrit un mot apparaitre dans ma cellule tout en visualisant la liste se réduire. Pensez-vous qu'il est possible de faire cette manipe ? J'ai essayé mais tous foire.
ps : macro complétion _ code vba_de ma feuille de saisie
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("bd").Range("liste").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub
ps : macro complétion _ code vba d'un module1
Sub xx()
x = ActiveWindow.ScrollRow
y = Cells(ActiveWindow.ScrollRow, 1).Top
End Sub
ps : macro vba_ saisie intuitive de ma feuille de saisie sans module 1 juste en associant une combobox
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A10], Target) Is Nothing And Target.Count = 1 Then
Set f = Sheets("BD")
a = Application.Transpose(f.Range("A2:A" & f.[A65000].End(xlUp).Row))
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Ah oui ! une dernière chose pensez vous qu'il soit utilise d'attribuer une macro pour cela (image ci-dessous)?
J'ai crée une liste toute simple depuis validation de donnée ou j'ai renseigné la feuille et je me demande si il ne serait pas plus simple comme avec ma macro intuitive ou avec une formule excel de permettre de voir la liste en entière vu qu'il y a que 6 champs à choisir pour la saisie (ça pourrait aider mes futurs stagiaire botaniste qui ne connaissent pas par coeur ces codes ?
Merci par avance pour vos idées
Cette fois je viens vers vous concernant mon souhait d'améliorer mes fiches de saisie naturaliste. Je m'explique lister des espèces sur feuille papier c'est long me suis donc inspiré d'une macro pour rechercher comme ça les noms d'espèces et au fur et à mesure que j'écrit un mot il apparait le nom d'espèces en question. Mon porblème est le suivant j'ai connaissance de deux macro, l'une pour l'autocomplétion et l'autre pour la suivi intuitive. J'aimerais fusionner ces deux macro pour le coté esthétique car ma macro complétion ici présente en image permet d'afficher un nom au fur à fur que les lettres sont écrites mais ils faut cliquer sur la fléche pour voir tous les mots commençant par ces lettres.
A l'opposé (image avec fond jaune) l'autre macro permet par sa saisie intuitive de réduire la liste en question au fur et à mesure que des lettres sont écrites et on voit directemen tla liste se réduire. Je souhaite donc fusionner ces deux macro pour avoir quand j'écrit un mot apparaitre dans ma cellule tout en visualisant la liste se réduire. Pensez-vous qu'il est possible de faire cette manipe ? J'ai essayé mais tous foire.
ps : macro complétion _ code vba_de ma feuille de saisie
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A16], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("bd").Range("liste").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub
ps : macro complétion _ code vba d'un module1
Sub xx()
x = ActiveWindow.ScrollRow
y = Cells(ActiveWindow.ScrollRow, 1).Top
End Sub
ps : macro vba_ saisie intuitive de ma feuille de saisie sans module 1 juste en associant une combobox
Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A10], Target) Is Nothing And Target.Count = 1 Then
Set f = Sheets("BD")
a = Application.Transpose(f.Range("A2:A" & f.[A65000].End(xlUp).Row))
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
Else
Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" And IsError(Application.Match(Me.ComboBox1, a, 0)) Then
Me.ComboBox1.List = Filter(a, Me.ComboBox1.Text, True, vbTextCompare)
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub
Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub
Ah oui ! une dernière chose pensez vous qu'il soit utilise d'attribuer une macro pour cela (image ci-dessous)?
J'ai crée une liste toute simple depuis validation de donnée ou j'ai renseigné la feuille et je me demande si il ne serait pas plus simple comme avec ma macro intuitive ou avec une formule excel de permettre de voir la liste en entière vu qu'il y a que 6 champs à choisir pour la saisie (ça pourrait aider mes futurs stagiaire botaniste qui ne connaissent pas par coeur ces codes ?
Dernière édition: