Transfère de données d'un Userform vers 2 feuilles

Bonjour,

Pourriez-vous m'indiquer comment je peux transférer des données via le formulaire (Userform) que j'ai créer sur 2 feuilles différentes.

Pour le moment, je n'arrive qu'à enregistrer les données soit sur la feuille de "SORTIE" ou "ENTREE" à chaque enregistrement, mais je voudrais qu'en plus, ces données soit sur la feuille "MOUVEMENT" afin d'avoir le suivi de ce matériel.

Je vous transmets mon fichier pour plus d'explication.

J'espère que j'ai été clair dans mes explications.

Dans l'attente de votre réponse.

Merci

Bonjour et bienvenue sur le forum

Un essai à tester.

Il n'est fait que pour les sorties. Je te laisse le soin de l'adapter pour les entrées.

Cela te convient-il ?

Bye !

Bonsoir Christelle_Ram49 et le forum,

Voici ma petite contribution avec un nouveau formulaire à compléter.

Cdt

Henri

37ram49.zip (31.17 Ko)

Bonjour à tous,

Une petite amélioration.

J'ai défini que lors d'une entrée la colonne G de la feuille "Mouvement" sera à "OUI" et "NON" pour une sortie. Je ne sais pas si cette colonne sert à ça!

Cdt

Henri

34ram49-v2.xlsm (43.21 Ko)

Bonjour,

Un grand merci pour votre aide, ce dernier fichier m'a été très utile.

Pourriez-vous m'indiquer comment faire maintenant pour réafficher le formulaire vierge dès que je clic sur le bouton enregistrer (le bouton quitter ne me servira pas).

J'ai essayer ceci :

Unload UserForm2

Load UserForm2

UserForm2.Show

Le seul problème c'est qu'il m'indique avec :

Private Sub ComboBox2_Change()

Me.TextBox2.Value = Application.VLookup(ComboBox2, [tableau1], 2, False)

Dans l'attente de votre réponse.

Re Bonjour

Une petite erreur dans la version 2

If Me.ComboBox1.Value = "SORTIE" Then

    With Sheets("SORTIE")
         ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & ligne) = Me.ComboBox2
        .Range("B" & ligne) = Me.TextBox1
        .Range("C" & ligne) = Me.ComboBox4
        .Range("D" & ligne) = Me.ComboBox5
    End With
    With Sheets("MOUVEMENT")
        ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & ligne) = Me.ComboBox2
        .Range("B" & ligne) = Me.TextBox2
        .Range("D" & ligne) = Me.ComboBox3
        .Range("E" & ligne) = Me.ComboBox4
        .Range("F" & ligne) = Me.TextBox1
        .Range("G" & ligne) = "NON"
   End With
End If

il faut lire

If Me.ComboBox1.Value = "SORTIE" Then

    With Sheets("SORTIE")
         ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & ligne) = Me.ComboBox2
        .Range("B" & ligne) = Me.TextBox1
        .Range("C" & ligne) = Me.ComboBox4
        .Range("D" & ligne) = Me.ComboBox5
    End With
    With Sheets("MOUVEMENT")
        ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & ligne) = Me.ComboBox2
        .Range("B" & ligne) = Me.TextBox2
        .Range("D" & ligne) = Me.ComboBox3
        .Range("E" & ligne) = Me.ComboBox4
        .Range("C" & ligne) = Me.TextBox1
        .Range("G" & ligne) = "NON"
   End With
End If

afin d'alimenter la date en colonne C de la feuille "SORTIE" et non en colonne F

Voici une version3 avec la date modifiable avec des SpinButton

et des boutons à cocher pour ENTREE et SORTIE

cdt

Henri

25ram49-v3.xlsm (44.27 Ko)

Voici la version 4 avec une page d'accueil.

Un clic sur le bouton et le formulaire apparait.

Cdt

Henri

63ram49-v4.xlsm (47.07 Ko)

La version 4 est parfaite, j'arrive à voir le bout du tunnel !!!!

J'ai créer un textbox "Disponibilité du matériel" et je voulais savoir si je pouvais récupérer les données "DISPONIBILITE" de ma feuille "MOUVEMENT" colonne G dès que je sélectionne le matériel ? (comme vous l'avez fait pour le nom du matériel).

Je voudrais également qu'il prenne en compte la date la plus récente du matériel.

Je ne sais pas si j'ai été assez clair dans mes explications.

En tout cas encore mille merci pour votre aide.

Bonjour Christelle et le forum,

Ne connaissant pas la quantité de matériel que vous avez en stock, j'ai supposé que chaque N° de matériel était unique.

Tout d'abord j'ai renommé la feuille "MATERIEL" en "BDD"'. J'ai donc ajouté une colonne C (Disponibilité) et une colonne E(masquée) qui sert au calcul de la valeur OUI ou NON en col C.

J'ai supprimé les feuilles "CHANTIER" et "PERSONNEL" en transférant ces données dans "BDD" col G et H.

J'ai transformé la feuille "MOUVEMENT" en tableau avec une colonne supplémentaire H (masquée) pour le calcul (si DISPO=OUI, alors 1, sinon -1)

Le TextBox Commentaires du formulaire n'apparait qu'en option=SORTIE.

Si le TextBox Disponibilité =NON, impossible de faire une opération de sortie.

Je voudrais également qu'il prenne en compte la date la plus récente du matériel.

Que faut-il afficher?

Voici la version 5 à tester

Cdt

Henri

35ram49-v5.xlsm (45.46 Ko)

Bonjour Henri,

C'est parfait, je pense que je vais partir sur ce principe. Je voudrais savoir si mes feuilles ENTREE et SORTIE sont vraiment nécessaires.

Je me rends compte après utilisation que je ne m'en sers pas.

Est-il possible de mettre une variable quand le matériel est cassé ou volé du coup celui-ci devrait être en DISPONIBILITE = NON si possible indiquer la raison ou afficher le matériel d'une autre couleur (mais non obligatoire).

Dans l'attente.

Bonne journée à vous.

Christelle

Bonjour Christelle,

Depuis le début, je pensais supprimer les 2 feuilles ENTREE et SORTIE car les informations nécessaires sont sur la feuille MOUVEMENT.

Feuille BDD: 1 nouvelle colonne intitulée MOTIF D'INDISPONIBILTE.

Formulaire: 1 nouveau TextBox avec le même motif.

Voici la version 6 à tester. "ATTENTION AUX FORMULES DANS LES 2 TABLEAUX". C'est un peu "tiré" par les cheveux, mais ça fonctionne.

Cdt

Henri

16ram49-v6.xlsm (43.51 Ko)

Bonsoir,

Une petite amélioration.

En effet, j'ai mis un contrôle supplémentaire dans le cas où l'on veut rentrer un matériel qui est disponible (DISPO=OUI) ou HS-cassé (motif d'indisponibilité<>" ").

Voici la version 6bis

Bonne nuit

Henri

14ram49-v6bis.xlsm (44.29 Ko)

Bonsoir Henri,

Un grand merci pour tout!!! C’est exactement ce que je voulais faire. Il ne me reste plus qu’a regarder tout ça en détail et de comprendre toutes les formules 😁😁😁

Bonne soirée à vous

Bonjour Henri,

Je me permets de revenir vers vous car j'ai créée une colonne supplémentaire dans le tableau 1 pour savoir qui est l'emprunteur du matériel quand il est sorti. Tout fonctionne correctement mis à part qu'il ne prend pas le dernier emprunter.

Voici la formule que j'ai créée :

=SI([@Colonne1]<0;RECHERCHEV([@REFERENCE];MOUVEMENT!$1:$1048576;5;FAUX);"")

Je voudrais savoir si il était possible de rajouter une condition en fonction de la date de sortie.

Dans l'attente de votre réponse.

Bonne journée.

Bonjour Christelle,

Une version 6ter à tester.

J'ai ajouté également une colonne H pour la date de sortie.

En option "ENTREE" les données Colonnes G et H sont effacées.

Cdt

Henri

14ram49-v6ter.xlsm (45.27 Ko)

Bonjour Henri,

Désolé de la réponse tardive.

Merci pour le fichier.

Bonne journée

Merci pour votre merci.

Juste un ajout de 2 TextBox dans le formulaire: Affichage du "Nom du Dernier Emprunteur" et "Date Sortie" dès qu'on choisit un matériel non disponible.

Si le sujet vous convient, ne pas oublier de cocher "RESOLU" à droite de "EDITER"

Voici la version 7.

Cdt

Henri

45ram49-v7.xlsm (45.75 Ko)
Rechercher des sujets similaires à "transfere donnees userform feuilles"