Incrémentation + validation Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
Avatar du membre
Antho49000
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 17 juillet 2014
Version d'Excel : 2010 FR,2013 FR,2016 FR

Message par Antho49000 » 31 juillet 2014, 10:24

Bonjour,
Je me permet d'écrire sur votre forum car j'ai un problème pour le VBA d'un formulaire .
J'ai déjà fait une demande ici mais personne n'a répondu à ma demande .

Voilà j'ai simplifier totalement mon script de base pour montrer un exemple vraiment tout simple, voici ma demande :

- J'aimerais que lorsque j'appuie sur VALIDER après avoir rempli les champs "NOM" "Prénom" "age" et "profession" cela remplie ma page "Résultat à la suite des données déjà rentrer à l'intérieur .

- La deuxième demande c'est que lorsque cela remplie, automatiquement la suite de nombre s'incrémente .

Merci pour les réponses que vous pourriez me fournir ( le fichier est totalement simplifier pour ma demande et vous pouvez trouver le fichier original dans le forum )

Cordialement,
Antho49000
formulaire exemple.xlsx
(12.21 Kio) Téléchargé 9 fois
Là où certains ne voient que folie, nous voyons du génie.

Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent.
[Steeve JOBS]
E
EngueEngue
Membre impliqué
Membre impliqué
Messages : 1'493
Inscrit le : 12 décembre 2013
Version d'Excel : 2010

Message par EngueEngue » 31 juillet 2014, 10:58

Tu crées un module et tu mets cette macro dedans, click droit sur ton boutton affecter une macro et tu choisis toto.
Sub toto()
With Sheets("Résultats")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Cells(derlig, 1) = .Cells(derlig - 1, 1) + 1
.Cells(derlig, 2) = Sheets("Formulaire").Range("A2")
.Cells(derlig, 3) = Sheets("Formulaire").Range("B2")
.Cells(derlig, 4) = Sheets("Formulaire").Range("C2")
.Cells(derlig, 5) = Sheets("Formulaire").Range("D2")
End With
End Sub
Avatar du membre
Antho49000
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 17 juillet 2014
Version d'Excel : 2010 FR,2013 FR,2016 FR

Message par Antho49000 » 31 juillet 2014, 11:07

Merci pour la réponse,
Alors ma démarche j'ai créer une macro TOTO avec les lignes que vous m'avez fournie , Après sur mon bouton valider j'ai attribuer la macro TOTO .

Mais j'ai une erreur " erreur d'exécution '9': L'indice n'appartient pas à la sélection." et lorsque je vais dans débogage j'ai une erreur en ligne " .Cells(derlig, 2) = Sheets("Formulaire").Range("A2")" .

Attention en faite car à chaque fois que je vais valider j'aimerai qu'il me rajoute une ligne . avec un nouveau numéros à la suite de celui qui est juste au dessus .

cordialement
Antho49000
Là où certains ne voient que folie, nous voyons du génie.

Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent.
[Steeve JOBS]
E
EngueEngue
Membre impliqué
Membre impliqué
Messages : 1'493
Inscrit le : 12 décembre 2013
Version d'Excel : 2010

Message par EngueEngue » 31 juillet 2014, 11:10

Je n'avais pas testé. Ta feuille s'appelle "Formulaire ", il y a un espace à la fin.

Soit tu enlèves l'espace à la fin en renommant la feuille soit tu mets un espace dans les lignes Sheets("Formulaire ").
Avatar du membre
Guitouille
Membre fidèle
Membre fidèle
Messages : 242
Inscrit le : 11 juillet 2014
Version d'Excel : 2010

Message par Guitouille » 31 juillet 2014, 11:12

Bonjour,
J'ai ajouté un userform pour la prestence.
formulaire exemple.xlsm
(24.23 Kio) Téléchargé 16 fois
Avatar du membre
Antho49000
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 17 juillet 2014
Version d'Excel : 2010 FR,2013 FR,2016 FR

Message par Antho49000 » 31 juillet 2014, 11:23

Merci je vais l'intégrer dans ma feuille d'origine ,

A la base mon userform est deja présent c'est qu'il me manquais la fonction d'incrémentation automatique etc ...

voici la feuille d'origine

utilisateur :
admin mot de passe ADMIN
anthony mot de passe anthony
dimitri mot de passe dimitri

si cela vous intéresse de voir la complexité de ma feuille .
Formulaire 7.xls
(101 Kio) Téléchargé 7 fois
Là où certains ne voient que folie, nous voyons du génie.

Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent.
[Steeve JOBS]
Avatar du membre
Antho49000
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 17 juillet 2014
Version d'Excel : 2010 FR,2013 FR,2016 FR

Message par Antho49000 » 31 juillet 2014, 14:05

Après de longue recherche ,
Je ne sais pas ou intégrer mon code et remplacer quoi dans l'action de mon bouton pour intégrer le code ...

Si une personne pourrais m'aider cela m'intéresserais :

Voici le code de mon bouton valider :
Private Sub CommandButton2_Click()
    If Not IsDate(TextBox5) Then
        MsgBox "Format Date Incorrect"
        TextBox5 = ""
        Exit Sub
        Else
    Sheets("Final").Visible = True
    Sheets("Final").Select
    Rows("3:3").Select
Selection.Insert Shift:=xlDown

        [F3] = TextBox5
        [A3] = TextBox3
        [B3] = TextBox4
        [D3] = ComboBox1
    End If
    Sheets("Final").Visible = False
    Rows("3:3").Select
    Selection.Delete Shift:=xlUp
    Unload UserForm1
    Load UserForm1
    UserForm1.Show

End Sub
merci pour l'aide que vous pourrez me donner
Là où certains ne voient que folie, nous voyons du génie.

Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent.
[Steeve JOBS]
Avatar du membre
Antho49000
Membre habitué
Membre habitué
Messages : 89
Inscrit le : 17 juillet 2014
Version d'Excel : 2010 FR,2013 FR,2016 FR

Message par Antho49000 » 1 août 2014, 10:45

Bonjour,
Après quelques recherche j'ai réussis à faire mon paramétrage ,. voici le code utiliser :
Private Sub CommandButton2_Click()
    If Not IsDate(TextBox5) Then
        MsgBox "Format Date Incorrect"
        TextBox5 = ""
        Exit Sub
        Else
    Sheets("Final").Visible = True
With Sheets("Final")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Cells(derlig, 1) = Sheets("Bon de commande").Range("A3")
.Cells(derlig, 2) = Sheets("Bon de commande").Range("B3")
.Cells(derlig, 3) = .Cells(derlig - 1, 3) + 1
.Cells(derlig, 4) = Sheets("Bon de commande").Range("D3")
.Cells(derlig, 5) = Sheets("Bon de commande").Range("E3")
.Cells(derlig, 6) = Sheets("Bon de commande").Range("F3")
End With
        End If
    Sheets("Final").Visible = False
    Rows("3:3").Select
    Selection.Delete Shift:=xlUp
    Unload UserForm1
    Load UserForm1
    UserForm1.Show
    
End Sub
en conclusion ma feuille final apparait , cela colle le résultat et elle disparait puis cela efface les donné remplis et relance du programme userform .

Après ma feuille est plus complexe mais au final j'ai réussi à supprimer un poids qui me pesais depuis quelques jour .

Il me reste plus qu'a faire une dernière fonction mais cela sera un autre sujet .

Je remercie beaucoup les personnes qui mon aider pour mon problème et j'espère aider aussi des personnes à mon tour pour des question technique sur mon fichier ou des fonction qui pourrais les intéresser .
Là où certains ne voient que folie, nous voyons du génie.

Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent.
[Steeve JOBS]
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message