Aide formulaire

le cantalou

XLDnaute Nouveau
Bonjour,

J'ai fais un formulaire afin de pouvoir encoder plus rapidement les données dans un fichier excel. Sur la page d’accueil se trouve 3 boutons mais quand je clique sur valider les données ne s'écrivent pas sur la bonne page data mais sur la page accueil.

Private Sub BtnValider_Click()
Dim derligne As Integer
If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
derligne = Sheets("data").Range("A456541").End(xlUp).Row + 1
Cells(derligne, 1) = TbxProjet.Value
Cells(derligne, 2) = CbxPole.Value
Cells(derligne, 3) = CbxAgent.Value
Cells(derligne, 4) = TbxPath.Value
End If
End Sub

Pouvez vous m'aider?
Cordialement,
le cantalou
 

Pièces jointes

  • LISTE_PROJETS_2016.xlsm
    99.5 KB · Affichages: 42
Dernière édition:

le cantalou

XLDnaute Nouveau
Re : Aide formulaire

Bonjour Jocelyn,

Merci pour la réponse rapide.

Le souci est identique, je viens de me rendre compte qu'il ajoute toujours les données sur la ligne n°6 et écrase les anciennes données.

Private Sub bt_valid_cont_Click()
Dim derligne As Integer
If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
With Sheets("data")
derligne = .Range("A456541").End(xlUp).Row + 1
Cells(derligne, 1) = TbxProjet.Value
Cells(derligne, 2) = CbxPole.Value
Cells(derligne, 3) = CbxAgent.Value
Cells(derligne, 4) = TbxPath.Value
End With

End If

End Sub

Le cantalou
 

mutzik

XLDnaute Barbatruc
Re : Aide formulaire

bonjour,

à tester

Code:
Sub bt_valid_cont_Click()
Dim derligne As Integer
If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
With Sheets("data")
derligne = .Range("A" & Rows.count).End(xlUp).Row + 1
.Cells(derligne, 1) = TbxProjet.Value
.Cells(derligne, 2) = CbxPole.Value
.Cells(derligne, 3) = CbxAgent.Value
.Cells(derligne, 4) = TbxPath.Value
End With

End If

End Sub
 
Dernière édition:

le cantalou

XLDnaute Nouveau
Re : Aide formulaire

bonjour,

à tester

Code:
Sub bt_valid_cont_Click()
Dim derligne As Integer
If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
With Sheets("data")
derligne = .Range("A" & Rows.count).End(xlUp).Row + 1
.Cells(derligne, 1) = TbxProjet.Value
.Cells(derligne, 2) = CbxPole.Value
.Cells(derligne, 3) = CbxAgent.Value
.Cells(derligne, 4) = TbxPath.Value
End With

End If

End Sub


Merci ça fonctionne, peux tu m'expliquer pourquoi ça ne fonctionnait pas?

Si je peux encore abuser, quand j’utilise ma fonction de recherche, la couleur de ma page change et alourdi mon fichier. Est possible de supprimer cette modification de format de mes cellules?

Merci
 

mutzik

XLDnaute Barbatruc
Re : Aide formulaire

re,

Cells(derligne ... écrit dans la feuille active
tandis que
.cells(derligne ... écrit dans la feuille spécifiée avec with sheets("data")

en fait, cela remplace sheets("data").cells(derligne ...
sauf qu'on a pas besoin de répéter à chaque fois le sheets("data ... MAIS il ne faut pas oublier le petit . devant cells ou range ou ...
 

mutzik

XLDnaute Barbatruc
Re : Aide formulaire

sinon, remplace le code de la feuille 'data' par celui-ci

Code:
Private Sub CommandButton1_Click() Sheets("Accueil").Select
End Sub


Private Sub btnclear_Click()
    TextBox1.Value = ""
End Sub


Private Sub TextBox1_Change()
    Dim derlig
    derlig = Sheets("data").Range("A" & Rows.Count).End(xlUp).Row


 ' accelere le fonctionnement de la marcro
 '-----------------------------------------------
    Application.ScreenUpdating = False
 
 ' initialise les cellules de 2 à A 9999 en blanc
 '-----------------------------------------------
    Range("A2:ZZ9999").Interior.ColorIndex = xlNone
    
 ' vide la listbox1
 '-----------------------------------------------
    ListBox1.Clear 'Exemple 2 (ListBox)
    
    If TextBox1 <> "" Then
        For ligne = 2 To derlig
            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1).Interior.ColorIndex = 43 'Exemple 1 (feuille)
                ListBox1.AddItem Cells(ligne, 1) 'Exemple 2 (ListBox)
            End If
        Next
    End If
 
End Sub
 

le cantalou

XLDnaute Nouveau
Re : Aide formulaire

Merci c'est gentil de votre part.

Il me reste une question au sujet de l'hyperlien. j'ai mis:

Code:
 .Cells(derligne, 4) = LIEN_HYPERTEXTE(TbxPath.Value)

Il y a bien un lien mais il n'est pas cliquable, que manque t-il?

J'ai trouve ce code, mais le lien de se met pas dans la bonne cellule

Code:
   If TbxPath.Text <> "" Then
      ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
        TbxPath.Text, TextToDisplay:= _
        TbxPath.Text
   Else
      ActiveCell.Value = ""
   End If

Cordialement,
le cantalou
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : Aide formulaire

re, j'y connais pas trop, mais le mieux c'est d'activer l'enregistreur de macros, de faire ton lien manuellement et à la fin de désactiver l'enregistreur de macros
Ensuite, voir quel code a été généré et l'adapter
 

le cantalou

XLDnaute Nouveau
Re : Aide formulaire

Bonjour,

Après pas mal de tests infructueux, je suis bloqué....

Voici ce que j'ai fait:

Code:
Private Sub bt_valide_quit_Click()
    'ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:= _
    'TbxPath.Text, TextToDisplay:= _
    'TbxPath.Text
    
    'objLink.Address = TbxPath.Text
    
    ' TbxPath.Text = "file:///" & TbxPath.Text
    
    
    Dim derligne As Integer
    If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
    With Sheets("data")
        'If TbxPath.Text <> "" Then ActiveWorkbook.FollowHyperlink TbxPath.Value, , True
        derligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Cells(derligne, 1) = TbxProjet.Value
        .Cells(derligne, 2) = CbxPole.Value
        .Cells(derligne, 3) = CbxAgent.Value
        .Cells(derligne, 4) = TbxPath.Text
       ' .Hyperlinks.Add Anchor:=Selection, Address:= _
       ' TbxPath.Text, _
       ' TextToDisplay:= _
       ' TbxPath.Text

    End With
    End If

    Unload UserForm1
End Sub

Mais rien n'y fait.

Une idée pour me faire avancer?
 

le cantalou

XLDnaute Nouveau
Re : Aide formulaire

Bonsoir.
Pourquoi vous mettez toujours Anchor:=Selection au lieu de Anchor:=.Cells(derligne, 4) ?

Bonjour Danreb,

Car je fais de l'essais erreur, j'y connais pas grand chose :rolleyes:

j'ai supprimé les : car avec j'ai une erreur.

J'ai modifié mon code comme ceci:

Dim derligne As Integer
If MsgBox("Confimez-vous l'ajout des données ?", vbYesNo, "confirmation") = vbYes Then
With Sheets("data")
If TbxPath.Text <> "" Then ActiveWorkbook.FollowHyperlink TbxPath.Value, , True
derligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(derligne, 1) = TbxProjet.Value
.Cells(derligne, 2) = CbxPole.Value
.Cells(derligne, 3) = CbxAgent.Value
.Cells(derligne, 4) = TbxPath.Text
Anchor = .Cells(derligne, 4)

Quand je clique sur le bouton, le fichier qui se trouve dans le lien s'ouvre. Moi, j'aimerais juste avoir un chemin cliquable dans la page data.

Cordialement,
Le cantalou
 

Discussions similaires

Réponses
77
Affichages
6 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet