• Initiateur de la discussion Initiateur de la discussion inèsanso
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

inèsanso

Guest
bonjour,

je voudrai créer un outil me permettant de contrôler annuellement l'activité opérationnelle de mes personnels donc en copiant différentes macro pris sur le forum j'ai réussi en modifiant 2 ou 3 données à faire quelque chose de pas mal, mais la je ne trouve pas de solution au problème qui est le suivant:
mon userform me permet de créer une nouvelle feuille qui est nommé en fonction du nom, moi en plus je voudrai que ca m alimente automatiquement une base de donnée (dans l'onglet "base")est ce possible??

merci d'avance pour votre aide.
 
Dernière modification par un modérateur:
Re : aide sur userform

Bonjour Inèsanso et bienvenue 🙂,
Attention à la rigueur dans ton code et tes fichiers :
La feuille base avait un blanc derrière le nom
Tu essayais de fermer un fichier sans l'extension
Tes champs de l'USF ne sont pas numérotés correctement et la tab fait n'importe quoi
Pour la BDD, je t'ai modifié le code suivant
Code:
[COLOR=red][B]Dim DerLig As Integer[/B][/COLOR]
Private Sub CommandButton1_Click()
Unload Me
End SubPrivate Sub CommandButton2_Click()
Dim nom As String
nom = TextBox1
If nom <> "" Then
[COLOR=red][B]DerLig = 1
While Sheets("base").Cells(DerLig, 1) <> ""
DerLig = DerLig + 1
Wend
[/B][/COLOR]Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\fiches indiv.xlsm"
 Sheets("fiches indiv").Select
    Sheets("fiches indiv").Copy After:=Workbooks("menu.xlsm").Sheets(Sheets.Count)
    ActiveSheet.Name = nom
    ActiveSheet.Range("D2") = nom
    [COLOR=red][B]Sheets("base").Cells(DerLig, 2) = nom[/B][/COLOR]
prenom = TextBox2
        ActiveSheet.Range("F2") = prenom
       [COLOR=red][B] Sheets("base").Cells(DerLig, 3) = prenom
[/B][/COLOR]grade = TextBox3
        ActiveSheet.Range("B2") = grade
       [COLOR=red][B] Sheets("base").Cells(DerLig, 1) = grade[/B][/COLOR]
matricule = TextBox4
        ActiveSheet.Range("H2") = matricule
        [COLOR=red][B]Sheets("base").Cells(DerLig, 4) = matricule
[/B][/COLOR]Workbooks("fiches indiv[COLOR=red][B].xlsm[/B][/COLOR]").Close
Unload Me
Application.ScreenUpdating = True
End If
End Sub
Fichier joint.
Bon dimanche 😎
 

Pièces jointes

Re : aide sur userform

merci JNP

tout à fait ce que je veut maintenant je vait essayer de supprimer un onglet en fonction du nom que j'indiquerai dans un userform mais que sa le supprime egalement dans la base de donnée.

ps: je pense encore avoir besoin de votre aide .

encore merci et bon dimanche.
 
Re : aide sur userform

Re 🙂,
Avant de faire ça, je te conseillerais :
1) De vérifier, soit dans la BDD, soit dans les onglets, qu'il n'y a pas déjà quelqu'un du même nom, sinon, bug au renommage d'onglet...
2) De proposer le grade sous forme de ComboBox, pour n'accepter que des libellés valides.
3) De vérifier que le N° de matricule est bien conforme, et unique.
Sinon, effacer une feuille en même temps que la ligne dans la BDD, pas de problème, mais de nouveau, il faut que tu charges la liste des noms par un ComboBox pour qu'on ne puisse pas saisir un nom inexistant.
Bon courage 😎
 
Re : aide sur userform

merci JNP pour tes conseilles, je crée le combobox grade, mais je te souleve deja un petit probleme dans la suppression d'onglet, je n'arrive pas à associer le nom à supprimer avec mon textbox " l'apprentissage n'est pas facile meme avec des manuels VBA.
 
Dernière modification par un modérateur:
Re : aide sur userform

Re 🙂,
l'apprentissage n'est pas facile meme avec des manuels VBA.
Et oui, c'est dur la culture 😛... Mais t'inquiètes pas, plus tu avanceras et plus ça te paraitra simple 😉.
Pour ta feuille, si tu mets "textbox1", c'est la valeur entre cotes qui est prise et non pas la variable... Mais si tu mets TextBox1 sans les cotes, c'est un objet et ça ne fonctionne pas non plus, donc il faut la valeur de TextBox1, soit TextBox1.Text
J'en ai profité pour changer en combobox, regarde bien le code, tu comprendras mieux.
J'ai aussi changé les valeur TabIndex du premier USF, tu comprendras en l'ouvrant et en te déplaçant de champs en champs avec la Tab.
Bon courage 😎
 

Pièces jointes

Re : aide sur userform

super c'est nickel JPN

juste petit pb quand j'ajoute un nouveau personnel ca m'efface le celui deja inscrit dans la BDD et quand je supprime un personnel ca ne le supprime pas de la BDD sinon le reste marche super merci encore.
 
Re : aide sur userform

Re 🙂,
juste petit pb quand j'ajoute un nouveau personnel ca m'efface le celui deja inscrit dans la BDD et quand je supprime un personnel ca ne le supprime pas de la BDD sinon le reste marche super merci encore.
Si tu ne mets pas de grade, c'est sûr que l'ajout suivant écrase le précédent, vu qu'il cherche la première cellule vide dans Grade... C'est bien pour cela que je préconisais (voir ce post 😡) dans lequel j'ai oublié le plus évident : ne remplir la base de donnée que si tous les champs sont renseignés...
La suppression dans la BDD, c'est normal que ça ne marche pas, vu que je n'avais fait que la partie suppression feuille qui te posait problème 😛...
D'un autre côté, si tu ne progresses pas par toi même, tu finiras par te retrouver avec une usine à gaz fabriquée par les gens du forum, que tu seras incapable de dépanner ou de modifier par toi même, et en général, les "répondeurs" du forum n'aiment pas reprendre du code existant 😱... Donc tu seras dans le caca ce jour là si tu n'as pas fait l'effort de comprendre, d'anoter le code, etc...
Je t'ai rajouté la suppression dans la base et le test de tous les champs remplis, mais je risque fort d'abandonner là si tu n'essaies pas au moins de mettre en pratique les conseils du post évoqué ci-dessus 🙁...
Bonne journée 😎
 

Pièces jointes

Re : aide sur userform

OK JPN je comprend bien, je commence a comprendre le système et je continu dans l'avancée de mon projet, je suis tes conseils et je commente toute mes lignes merci encore jpn pour ton aide précieuse.
 
Re : aide sur userform

bonsoir,

petit probleme sur l'alimentation d'un liste box, j'ai bien reussi à faire la liste box "theme incendie" mais je n'arrive pas a faire de meme pour le listbox "theme sav"
il me manque un petit truc mais je ne voit pas quoi.
merci pour votre aide.

bonne soirée.
 
Dernière modification par un modérateur:
Re : aide sur userform

Re 🙂,
Ton code me parrait bien compliqué...
L'erreur vient que tu ne cherches pas dans la bonne colonne, et il te faut un deuxième data (à déclarer), sinon, il y aura cumul.
Code:
With Sheets("base generale incendie")
    On Error Resume Next
    For Each c In .Range("[COLOR=red][B]c[/B][/COLOR]4:[B][COLOR=red]c[/COLOR][/B]" & .Range("[COLOR=red][B]c[/B][/COLOR]65536").End(xlUp).Row)
        [COLOR=red][B]data2[/B][/COLOR].Add c, CStr(c)
    Next c
    On Error GoTo 0
 
    For Each el In [COLOR=red][B]data2[/B][/COLOR]
        ComboBox3.AddItem el
    Next el
End With
Bonne nuit 😎
 
Re : aide sur userform

re bonjour JNP,

je n'arrive pas à modifier le code qui me permet d'alimenter ma listbox (choix multiple) quelques modif sont faites mais je bloque, encore une journée à chercher sans succès, 2 ou 3 infos pour me mettre sur le bon chemin, possible???

merci d'avance.
 
Dernière modification par un modérateur:
Re : aide sur userform

Re 🙂,
Peux-tu être plus explicatif 😕?
Il n'y a rien dans ton fichier, à part une combo qui cherche une référence inexistante... La feuille base ne comprends pas de données (fictives) 😱...
Quelle est la listbox qui coince, que veux-tu mettre dedans, que veux-tu faire après 🙄?
Très difficile de t'aider dans ces conditions 😱...
A te lire 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
468
Réponses
5
Affichages
271
Réponses
3
Affichages
295
Réponses
11
Affichages
425
Retour