Merci pour l'effort Pour le suppression d un matricule j ai utilisé ce code Sub supprimer() Dim reponse As Integer reponse = InputBox("Quelle matricule voulez vous supprimer") b = Range("A1048576").End(xlUp).Row For i = 1 To b If Cells(i, 1).Value = reponse Then MsgBox ("l'intervention " & reponse & " sera suprimmé") Rows(i).Delete Else End If Next i End Sub Et ça marche trés bien
Bonjour Coach Les Tutaux que vous présentez sont très riche en enseignement et je ne m'en cache pas que j'ai appris beaucoup de vous Coach, permettez moi juste une seule remarque sur le module "BtnValider" il allait peut être rajouter un petit test pour ne pas valider des champs vides dans la validation du formulaire à part cela c'est parfait et merci beaucoup..
Merci pour ce tuto vraiment très clair ! Lorsque je supprime à partir de mon formulaire je perds des lignes dans ma base de donnée. Vous connaissez la raison ?
Bonjour à toutes et tous ! Super Tuto ! J'ai une petite question, peut on séparer les boutons de la feuille ou les mettre par exemple à un niveau plus haut, si je supprime les premiers enregistrements mes boutons se réduisent :p ! Bon je chipote et je re débute... Merci pour vos réponses
Merci de vos explications vraiment claires et limpides. J'ai réalisé un tableau de bord qui rassemble des événements à l'attention d'animateurs. Le tableau de Bord est accessible à beaucoup de personne. Lorsqu'il valide un événement, je souhaite que celui-ci soit enregistré dans la base de données mais qu'ils ne puissent plus modifier la base de données. Comment donc rendre la base accessible par le formulaire mais pas manuellement par la suite par le personnel. Il ne doivent juste pouvoir le consulter ? D'avance merci de votre retour
Bonjour, Il faudra protéger la feuille via le code VBA juste après avoir saisie le nouvel enregistrement et la déprotéger juste avant la saisie. J'ai montré cela dans plusieurs vidéo.
Bonjour, super explication mais j'ai un problème ... comment fait-on pour faire une boucle WHILE pour chercher la cellule vide , dans une feuille du classeur précise? ici nous sommes sur la feuille "source" mais si je veux faire la même chose sur une autre feuille qui n'est pas la 1ere du classeur, set-ce possible ?
@@Learnaccess merci. 😀 mais je n'y arrive quand mm pas... J'ai écrit ceci : Do While ThisWorkbook.Sheets ("nompage").Cells (i, 1) "" Correct ? J'ai ensuite rajouter cette syntaxe (ThisWorkbook. .... ) devant chaque Cells. J'ai taper la mm fonction supprimer que vs pour essayer, idem , elle marche aussi uniquement sur la feuille "ouverte" du fichier et nn sur la feuille nommé. Jss un peu perdu 😂
Est-il possible d'avoir la formule "=concatener(B1; C2)" qui s'ajoute automatiquement à la place dans votre exemple du matricule (1 / 2 / 3 / 4 ...) ? Et ensuite quand je clique sur le bouton modifier, il me demande le concatener (dans notre exemple "BERTOULDCLAUDIE" ==> ce qui me donne toutes les infos de la ligne pour ensuite les modifier. Est-ce possible ?
bonjour , merci pour vos vidéos , j'ai juste un prob quant je clic sur le bouton ajout il décent jusqu’à la dernière ligne de la feuille puis il remonte a la dernière ligne du tableau pour incrémenté les données , j'aimerais savoir pourquoi et merci
Félicitation pour les tutos mais je ma boucle ne marche pas. Lorsque j'entre les données et que j'entre encore pour une deuxièmes fois la deuxièmes information supprimer la premier alors que j'ai bien et belle entré les codes
Bonjour excellent tuto. mais la partie suppression du salarié mon code pour le decompte ne marche pas et je ne vois pas d'erreur: For i = .Range("A" & .Rows.Count).End(x1Up).Row To 2 Step -1 merci de m'aider
Il faut : 1. rechercher et se positionner sur le champs à supprimer 2. Lorsque vous être sur l'enregistrement, il faut juste supprimer sa ligne Attention aux homonymes : il se peut que vous ayez deux fois le même nom, donc il faut créer une clé unique.
Il faut déjà trouver la valeur à supprimer. Se positionner dessus en ensuite la supprimer. POur cela il faut faire une boucle qui parcours toutes les lignes de votre colonne jusqu'à ce qu'il trouve la valeur sélectionnée.
Bonjour, pour moi jusqu'ici tout fonctionne, à un petit détail prêt. Ce que j'ai fait c'est une bdd clients avec numéro de client. Mais au lieu d'avoir des numéros 1, 2, 3, etc. Mes numéros doivent commencer par A3D-01 mais bien sur je n'arrive pas à incrémenter comment pourrais-je faire car je n'ai que ca qui coince. Merci pour votre aide.
Si la A3D- est une donnée fixe et que vous devez juste incrémentée les 01, 02 , 03 derrière vous pouvez le faire avec une simple concaténation de chaine de texte du genre : "A3D-"&01
@@Learnaccess Merci pour votre réponse rapide. Mais où le mettre et de quel facon. Else 'On incrémente le numéro Client ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1) + 1
bonjour, merci pour votre tutoriel tout fonctionne sauf le bouton supprimer il me donne cette erreur "For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1" pourtant j'ai scrupuleusement suivit toutes vos indications, j'ai relue le code plusieurs fois pour comprendre d'où venais le problème ou si il manqué du code Mais tout est exactement comme vous, pourriez vous m'indiquer d'où peut provenir l'erreur svp ? merci car avant de créer le v bouton "Modifier" le "supprimer" fonctionné lui ...je suis perdu
Edit : j'ai modifier le " Dim i As Integer" en " Dim i As Long" cela fonctionne mais avec une latence de plusieurs secondes je pense que ce doit être la cellule des numéros de téléphone qui pose problème, une idée svp ? je suis preneur
bonjour, déjà merci pour votre vidéo, c'est vraiment très bien fait et expliqué. j'ai toutefois un souci avec la suppression. mon bouton supprimer est sur une autre feuille et ne fonctionne pas. j'ai ajouté .activate apres le sheets et il semble aller sur la bonne page. mais le débogueur me laisse cette ligne en jaune et annonce erreur 424 : For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 que puis-je faire ? Sub supprimeadherent() Dim i As Integer Dim supprimeligne As String supprimeligne = InputBox("entrez le numéro de matricule de l'adhérent à supprimer", "Suppression d'un adhérent") With ThisWorkbook.Sheets("source").Activate For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If .Range("A" & i).Value = supprimeligne Then Rows(i).Delete End If Next i End With End Sub
je vous remercie beaucoup pour votre réponse ! j'ai tenté comme cela With ThisWorkbook.Sheets("source").Activate For i = Sheets("source").Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If Sheets("source").Range("A" & i).Value = supprimeligne Then Rows(i).Delete End If Next i End With mais l'erreur persiste, il me dit objet requis. je n'ai jamais fait de VBA avant
j'utilise un code materiel pour ma base"gestion materiel"mais cela ne pose pas de probleme pour supprimer le code materiel j'ai utilise votre tuto pour construire le programme et j'ai utilise 4 liste deroulante,qui marche tres biens,bien sur j'ai ameliore le userform,mais mon probleme je voudrais ajouter des bouton d'edition sur l'userform ajout par une liste par ex "chantier"en tapant simplement l'intitule et la date
Bonjour, J'ai fait un tuto sur le sujet. Taper sur ma chaine dans la case rechercher les mots clés : - Filtre avancé - vous obtiendrez les liens des vidéos explicatives. Merci
Comment me positionner sur la ligne du matricule sachant les matricules de ma base de données ne sont pas ordonnés comme le votre. Les matricules existent déjà (ils ne sont pas les incrémentés lorsque on ajoute un nouveau Agent dans la base) alors comment faire correspondre les matricule au numéro de ligne afin de faire une modification de L'agent. Merci de me répondre.
Bonjour, Vous ne pourrez pas faire correspondre le numero du matricules avec votre ligne de feuille. Pas besoin d'avoir une correspondance. Il suffit d'avoir un numéro unique c'est tout.
@@Learnaccess j'ai déjà stocké le matricule dans le formulaire. Le problème se trouve dans la récupération des informations( nom, prénom ,sexe fonction,age ....) du matricule, après avoir stocké le matricule dans le formulaire . Dans ma base les matricules ne sont pas classiques comme le votre (1,2,3,4,5,6.....) j'utilise une base déja existante et il n'ya aucune relation entre un matricule et son numéro de ligne( par exemple le matricule 7897 est sur la ligne 3 et le matricule 3467 est sur la ligne 4, le matricule 4567 est sur la ligne 5) alors la méthode de correspondance numero de ligne -- matricule ne marche pas dans mon cas. aidez moi svp.
@@ismobamba6145 POur moi, c'est le numéro du matricule que vous devez saisir dans l'inputbox et ensuite faire la recherche dans vogtre base pour aller récupérer le reste des informations. (même chose qu'une recherchev)
Bonsoir monsieur et encore bravo pour tous vos tuttos j'ai mis en application ces 3 tuttos pour alimenter une base de données articles mais j'ai un petit problème pour la numérotation automatique n'auriez vous pas un petit code pour que à la place de prendre le numéro de la ligne précédente et de faire plus un. De prendre le plus grand nombre de la colonne matricule et d'ajouter un car qd je remets ma liste des articles par ordre croissant mon dernier nombre de ma colonne matricule n'est plus le plus grand. Merci d'avance monsieur
J'ai un souci la procédure DELETE ne fonctionne pas et j'ai un message" la méthode Delete de la classe Range a échoué.. voici ce que j'ai écrit sachant que ma1ère ligne de saisie est la 5 a priori c'est la ligne Rows(i).Delete procédure permettant la suppresion d'un enregistrement à partir d'un N° colonne A Sub SupprimeEleve() 'déclaration des variable Dim i As Integer Dim SupprimeLigne As String 'affectation des variable SupprimeLigne = InputBox("Veuillez saisir le numéro colonne A : N°, de la ligne à supprimer", "SUPPRESSION ELEVE") 'on se positionne sur la feuille de la source de données With ThisWorkbook.Sheets("Saisie EE XXX") 'compte le nombre de ligne de la colonne A et tu remontes de 1 ligne For i = .Range("A" & .Rows.Count).End(xlUp).Row To 5 Step -1 'si correspondance entre le N° et la ligne à supprimer alors on supprime la ligne If .Range("A" & i).Value = SupprimeLigne Then 'on supprime la ligne entière Rows(i).Delete End If Next i End With End Sub
Bonjour, Il vaut mieux typer votre variable en Integer et non en string Car vous demander après de supprimer un numéro de ligne, hors vous lui mettez une chaine de texte. Il ne saura pas faire
merci sauf qu'entre le moment ou je vous ai transmis le message, j'avais fait la manip et j'ai le message ""erreur d’exécution 1004 la méthode Delete de la classe Range a échoué
quelqu'un pourrai t'il m'aider j'ai un fichier source que voici cela marche tres bien avec un formulaire je voudrais une suite d'enregistrement sur un autre fichier location c'est a dire affichier les information du fichier source et continuer la saisie sur le fichier location ex: fichier source form1 =code,designation,taux location : code;designation ,taux provenant du fichier source (location affichier ces information et continuer t'elle que ht,hi,hp,Mnt MntI,MntP merci Dim derligne As Integer If MsgBox("confirmer ou ajouter des donnees?", vbYesNo, "Confirmer") = vbYes Then derligne = Sheets("Source").Range("A456541").End(xlUp).Row + 1 Cells(derligne, 1) = TextBox1.Value Cells(derligne, 2) = TextBox2.Value Cells(derligne, 3) = TextBox3.Value Cells(derligne, 4) = TextBox4.Value Cells(derligne, 5) = TextBox5.Value Cells(derligne, 6) = TextBox6.Value Cells(derligne, 7) = TextBox7.Value End If End Sub Private Sub CommandButton2_Click() Unload UserForm1 End Sub Private Sub CommandButton3_Click() Dim no_ligne As Integer no_ligne = ComboBox1.ListIndex + 1 TextBox1.Value = Cells(no_ligne, 1).Value TextBox2.Value = Cells(no_ligne, 2).Value TextBox3.Value = Cells(no_ligne, 3).Value TextBox4.Value = Cells(no_ligne, 4).Value TextBox5.Value = Cells(no_ligne, 5).Value TextBox6.Value = Cells(no_ligne, 6).Value TextBox7.Value = Cells(no_ligne, 7).Value End Sub
Bonjour, Si vous devez chercher des informations sur plusieurs fichiers, il faut manipuler ces derniers en mode ouverture. Sans cela, vous ne pourrez pas récupérer ou affecter des données dessus.
Bonjour, pour commencer merci et bravo pour vos tutos très riche et expliqué d'une façon à ce que tout le monde puisse en profiter. J'ai un problème lors du remplissage de la BD. Si celui-ci ne comporte aucune donnée et que je rentre une première entrée, j'ai ce message d'erreur après avoir cliquer sur VALIDER: 'on incrémente le numéro de matricule ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1) + 1 ( A CE NIVEAU LA, TOUTE LA LIGNE EST SURLIGNéE EN JAUNE ) 'Unload.me 'permet de masquer le formulaire Merci pour votre futur aide
@@Learnaccess je l'ai bien dans le Else mais le problème reste le même. A noter que si j'ai rentrer exemple un nom dans la BD et qu'ensuite je rentre des données depuis le formulaire aucun problème. Le problème survient uniquement si mon tableau est vide
@@Learnaccess je l'ai bien dans le Else mais le problème reste le même. A noter que si j'ai rentrer exemple un nom dans la manuellement dans BD et qu'ensuite je rentre des données depuis le formulaire aucun problème. Le problème survient uniquement si ma BD est vide
Bonsoir monsieur et encore bravo pour tous vos tuttos j'ai mis en application ces 3 tuttos pour alimenter une base de données articles mais j'ai un petit problème pour la numérotation automatique n'auriez vous pas un petit code pour que à la place de prendre le numéro de la ligne précédente et de faire plus un. De prendre le plus grand nombre de la colonne matricule et d'ajouter un car qd je remets ma liste des articles par ordre croissant mon dernier nombre de ma colonne matricule n'est plus le plus grand. Merci d'avance monsieur
vidéo claire et précise j ai fait les 2 premier modules et sa fonctionne super merci.MICHEL
Merci pour l'effort
Pour le suppression d un matricule
j ai utilisé ce code
Sub supprimer()
Dim reponse As Integer
reponse = InputBox("Quelle matricule voulez vous supprimer")
b = Range("A1048576").End(xlUp).Row
For i = 1 To b
If Cells(i, 1).Value = reponse Then
MsgBox ("l'intervention " & reponse & " sera suprimmé")
Rows(i).Delete
Else
End If
Next i
End Sub
Et ça marche trés bien
Tout juste génial merci. Je me suis reconcilié avec les macros et le VBA
Bravo pour tes tutos. Claire et utile. Merci beaucoup.
Bonjour Coach
Les Tutaux que vous présentez sont très riche en enseignement et je ne m'en cache pas que j'ai appris beaucoup de vous Coach, permettez moi juste une seule remarque sur le module "BtnValider" il allait peut être rajouter un petit test pour ne pas valider des champs vides dans la validation du formulaire à part cela c'est parfait et merci beaucoup..
Merci pour ce tuto vraiment très clair ! Lorsque je supprime à partir de mon formulaire je perds des lignes dans ma base de donnée. Vous connaissez la raison ?
Merci pour tous vos efforts. Excellent
brovo tu es le meilleur
Bonjour à toutes et tous ! Super Tuto ! J'ai une petite question, peut on séparer les boutons de la feuille ou les mettre par exemple à un niveau plus haut, si je supprime les premiers enregistrements mes boutons se réduisent :p ! Bon je chipote et je re débute... Merci pour vos réponses
Il faut dissocier le bouton de vos cellule
@@LearnaccessMerci pour la réponse
Merci de vos explications vraiment claires et limpides.
J'ai réalisé un tableau de bord qui rassemble des événements à l'attention d'animateurs. Le tableau de Bord est accessible à beaucoup de personne.
Lorsqu'il valide un événement, je souhaite que celui-ci soit enregistré dans la base de données mais qu'ils ne puissent plus modifier la base de données.
Comment donc rendre la base accessible par le formulaire mais pas manuellement par la suite par le personnel. Il ne doivent juste pouvoir le consulter ?
D'avance merci de votre retour
Bonjour,
Il faudra protéger la feuille via le code VBA juste après avoir saisie le nouvel enregistrement
et la déprotéger juste avant la saisie.
J'ai montré cela dans plusieurs vidéo.
Bonjour, super explication mais j'ai un problème ... comment fait-on pour faire une boucle WHILE pour chercher la cellule vide , dans une feuille du classeur précise? ici nous sommes sur la feuille "source" mais si je veux faire la même chose sur une autre feuille qui n'est pas la 1ere du classeur, set-ce possible ?
Oui. Il faut juste mettre le nom de la feuille sur laquelle vous souhaitez aller
@@Learnaccess merci. 😀 mais je n'y arrive quand mm pas... J'ai écrit ceci : Do While ThisWorkbook.Sheets ("nompage").Cells (i, 1) ""
Correct ? J'ai ensuite rajouter cette syntaxe (ThisWorkbook. .... ) devant chaque Cells.
J'ai taper la mm fonction supprimer que vs pour essayer, idem , elle marche aussi uniquement sur la feuille "ouverte" du fichier et nn sur la feuille nommé.
Jss un peu perdu 😂
Tho Mas
Pas besoin de boucle :
Sheets(« nomfeuille »).activate
Range (« A1 »).select
Sélection.end(xldonwn).select
Activecell.offset(1,0).select
@@Learnaccess ha ! Javou Vs m'avez mis en PLS direct la 😀 je vous est perdu ! Mn fichier doit pas être coopératif !
Est-il possible d'avoir la formule "=concatener(B1; C2)" qui s'ajoute automatiquement à la place dans votre exemple du matricule (1 / 2 / 3 / 4 ...) ? Et ensuite quand je clique sur le bouton modifier, il me demande le concatener (dans notre exemple "BERTOULDCLAUDIE" ==> ce qui me donne toutes les infos de la ligne pour ensuite les modifier. Est-ce possible ?
bonjour , merci pour vos vidéos , j'ai juste un prob quant je clic sur le bouton ajout il décent jusqu’à la dernière ligne de la feuille puis il remonte a la dernière ligne du tableau pour incrémenté les données , j'aimerais savoir pourquoi et merci
Bizzarre, il n'est pas sencé Descendre et Remonter sans que l'on lui demande
Regardez votre code et vérifier s'il y a un Xlup ou XlDown
merci pour votre repense vais vérifier
monsieur j'arrive pas à trouver la vidéo gestion de bdd module n 3 svp je peux avoir le lien et merc
s'il vous plait mr.... donne moi le lien vers la formulaire de modification
Voilà le lien de la 3ème vidéo
@@Learnaccess oui ecrit ici
Félicitation pour les tutos mais je ma boucle ne marche pas. Lorsque j'entre les données et que j'entre encore pour une deuxièmes fois la deuxièmes information supprimer la premier alors que j'ai bien et belle entré les codes
Je pense que cela vient de l'outil tableau
IL vous faut avoir au moins une données dans votre tableau avant d'en rajouté une nouvelle...
Bonjour excellent tuto. mais la partie suppression du salarié mon code pour le decompte ne marche pas et je ne vois pas d'erreur: For i = .Range("A" & .Rows.Count).End(x1Up).Row To 2 Step -1
merci de m'aider
Bonjour, j'ai le même problème que vous. Avez-vous trouvé une solution ou toujours pas? (merci d'avance)
c'est (xlUP) L c'est pas un 1
Je vous remercie effectivement c'est L et non 1
bonjour, merci pour votre tuto et si je veux supprimer un enregistrement a partir d'un nom et prénom je vais faire koi ??? svp
Il faut :
1. rechercher et se positionner sur le champs à supprimer
2. Lorsque vous être sur l'enregistrement, il faut juste supprimer sa ligne
Attention aux homonymes : il se peut que vous ayez deux fois le même nom, donc il faut créer une clé unique.
au lieu de faire (Rows.count ) je ferais koi ??
Il faut déjà trouver la valeur à supprimer.
Se positionner dessus
en ensuite la supprimer.
POur cela il faut faire une boucle qui parcours toutes les lignes de votre colonne jusqu'à ce qu'il trouve la valeur sélectionnée.
Bonjour, pour moi jusqu'ici tout fonctionne, à un petit détail prêt. Ce que j'ai fait c'est une bdd clients avec numéro de client. Mais au lieu d'avoir des numéros 1, 2, 3, etc. Mes numéros doivent commencer par A3D-01 mais bien sur je n'arrive pas à incrémenter comment pourrais-je faire car je n'ai que ca qui coince. Merci pour votre aide.
Si la A3D- est une donnée fixe et que vous devez juste incrémentée les 01, 02 , 03 derrière vous pouvez le faire avec une simple concaténation de chaine de texte
du genre : "A3D-"&01
@@Learnaccess Merci pour votre réponse rapide. Mais où le mettre et de quel facon.
Else
'On incrémente le numéro Client
ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1) + 1
End If
@@brunoroullier6989
Le plus simple c’est de mettre votre incrémentation dans une cellule et ensuite aller chercher l’info via le formulaire
@@Learnaccess mais je ne vois pas du tout comment faire
@@brunoroullier6989 je vais essayer de faire un tuto
bonjour, merci pour votre tutoriel tout fonctionne sauf le bouton supprimer il me donne cette erreur "For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1"
pourtant j'ai scrupuleusement suivit toutes vos indications, j'ai relue le code plusieurs fois pour comprendre d'où venais le problème ou si il manqué du code Mais tout est exactement comme vous, pourriez vous m'indiquer d'où peut provenir l'erreur svp ? merci car avant de créer le v bouton "Modifier" le "supprimer" fonctionné lui ...je suis perdu
Edit : j'ai modifier le " Dim i As Integer" en " Dim i As Long" cela fonctionne mais avec une latence de plusieurs secondes
je pense que ce doit être la cellule des numéros de téléphone qui pose problème, une idée svp ? je suis preneur
Il est vide votre tableau
Non je test le bouton une fois avoir ajouté une nouveau client donc le tableau n'est jamais vide...
Je pourrais vous fournir le fichier pour que vous y regardiez.
Oui envoyez le moi car pas facile de trouver l’erreur
Mon mail : jeanpaul.bonnetto@gmail.com
bonjour,
déjà merci pour votre vidéo, c'est vraiment très bien fait et expliqué.
j'ai toutefois un souci avec la suppression. mon bouton supprimer est sur une autre feuille et ne fonctionne pas. j'ai ajouté .activate apres le sheets et il semble aller sur la bonne page. mais le débogueur me laisse cette ligne en jaune et annonce erreur 424 :
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
que puis-je faire ?
Sub supprimeadherent()
Dim i As Integer
Dim supprimeligne As String
supprimeligne = InputBox("entrez le numéro de matricule de l'adhérent à supprimer", "Suppression d'un adhérent")
With ThisWorkbook.Sheets("source").Activate
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & i).Value = supprimeligne Then
Rows(i).Delete
End If
Next i
End With
End Sub
Joris Maniquet
Bonjour,
Le numéro adhérent est bien en colonne À
Rajoutez le nom de votre feuille devant le .Range()
je vous remercie beaucoup pour votre réponse !
j'ai tenté comme cela
With ThisWorkbook.Sheets("source").Activate
For i = Sheets("source").Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If Sheets("source").Range("A" & i).Value = supprimeligne Then
Rows(i).Delete
End If
Next i
End With
mais l'erreur persiste, il me dit objet requis. je n'ai jamais fait de VBA avant
j'utilise un code materiel pour ma base"gestion materiel"mais cela ne pose pas de probleme pour supprimer le code materiel
j'ai utilise votre tuto pour construire le programme et j'ai utilise 4 liste deroulante,qui marche tres biens,bien sur j'ai ameliore le userform,mais mon probleme je voudrais ajouter des bouton d'edition sur l'userform ajout par une liste par ex "chantier"en tapant simplement l'intitule et la date
C'est plus une recherche filtrée qu'il vous faut dans ce cas précis
un exemple de recherche filtres MERCI
Bonjour,
J'ai fait un tuto sur le sujet.
Taper sur ma chaine dans la case rechercher les mots clés :
- Filtre avancé - vous obtiendrez les liens des vidéos explicatives.
Merci
Comment me positionner sur la ligne du matricule sachant les matricules de ma base de données ne sont pas ordonnés comme le votre. Les matricules existent déjà (ils ne sont pas les incrémentés lorsque on ajoute un nouveau Agent dans la base) alors comment faire correspondre les matricule au numéro de ligne afin de faire une modification de L'agent. Merci de me répondre.
Bonjour,
Vous ne pourrez pas faire correspondre le numero du matricules avec votre ligne de feuille.
Pas besoin d'avoir une correspondance. Il suffit d'avoir un numéro unique c'est tout.
@@Learnaccess ok ,mais dans ce cas comment faire envoyer les données du matricule renseignés dans le INPUTBOX dans le formulaire de modification.
@@ismobamba6145
Il faut stocker la donnée de l'inputbox dans une cellule de votre classeur et ensuite la récupérer dans votre formulaire
@@Learnaccess j'ai déjà stocké le matricule dans le formulaire. Le problème se trouve dans la récupération des informations( nom, prénom ,sexe fonction,age ....) du matricule, après avoir stocké le matricule dans le formulaire . Dans ma base les matricules ne sont pas classiques comme le votre (1,2,3,4,5,6.....) j'utilise une base déja existante et il n'ya aucune relation entre un matricule et son numéro de ligne( par exemple le matricule 7897 est sur la ligne 3 et le matricule 3467 est sur la ligne 4, le matricule 4567 est sur la ligne 5) alors la méthode de correspondance numero de ligne -- matricule ne marche pas dans mon cas. aidez moi svp.
@@ismobamba6145
POur moi, c'est le numéro du matricule que vous devez saisir dans l'inputbox et ensuite faire la recherche dans vogtre base pour aller récupérer le reste des informations. (même chose qu'une recherchev)
Bonsoir monsieur et encore bravo pour tous vos tuttos j'ai mis en application ces 3 tuttos pour alimenter une base de données articles mais j'ai un petit problème pour la numérotation automatique n'auriez vous pas un petit code pour que à la place de prendre le numéro de la ligne précédente et de faire plus un. De prendre le plus grand nombre de la colonne matricule et d'ajouter un car qd je remets ma liste des articles par ordre croissant mon dernier nombre de ma colonne matricule n'est plus le plus grand. Merci d'avance monsieur
Utiliser la fonction Max() qui récupérer la plus grande
J'ai un souci la procédure DELETE ne fonctionne pas et j'ai un message"
la méthode Delete de la classe Range a échoué..
voici ce que j'ai écrit sachant que ma1ère ligne de saisie est la 5
a priori c'est la ligne Rows(i).Delete
procédure permettant la suppresion d'un enregistrement à partir d'un N° colonne A
Sub SupprimeEleve()
'déclaration des variable
Dim i As Integer
Dim SupprimeLigne As String
'affectation des variable
SupprimeLigne = InputBox("Veuillez saisir le numéro colonne A : N°, de la ligne à supprimer", "SUPPRESSION ELEVE")
'on se positionne sur la feuille de la source de données
With ThisWorkbook.Sheets("Saisie EE XXX")
'compte le nombre de ligne de la colonne A et tu remontes de 1 ligne
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 5 Step -1
'si correspondance entre le N° et la ligne à supprimer alors on supprime la ligne
If .Range("A" & i).Value = SupprimeLigne Then
'on supprime la ligne entière
Rows(i).Delete
End If
Next i
End With
End Sub
Bonjour,
Il vaut mieux typer votre variable en Integer et non en string
Car vous demander après de supprimer un numéro de ligne, hors vous lui mettez une chaine de texte.
Il ne saura pas faire
merci sauf qu'entre le moment ou je vous ai transmis le message, j'avais fait la manip et j'ai le message ""erreur d’exécution 1004
la méthode Delete de la classe Range a échoué
toujours bloqué avec le même code 1004
désirez-vous que je vous envoi le fichier source ?
Si Oui, envoyez moi votre adresse email à : jeanpaul.bonnetto@gmail.com
merci c'est fait
quelqu'un pourrai t'il m'aider j'ai un fichier source que voici cela marche tres bien avec un formulaire
je voudrais une suite d'enregistrement sur un autre fichier location
c'est a dire affichier les information du fichier source et continuer la saisie sur le fichier location
ex: fichier source form1 =code,designation,taux
location : code;designation ,taux provenant du fichier source (location affichier ces information et continuer t'elle que ht,hi,hp,Mnt
MntI,MntP
merci
Dim derligne As Integer
If MsgBox("confirmer ou ajouter des donnees?", vbYesNo, "Confirmer") = vbYes Then
derligne = Sheets("Source").Range("A456541").End(xlUp).Row + 1
Cells(derligne, 1) = TextBox1.Value
Cells(derligne, 2) = TextBox2.Value
Cells(derligne, 3) = TextBox3.Value
Cells(derligne, 4) = TextBox4.Value
Cells(derligne, 5) = TextBox5.Value
Cells(derligne, 6) = TextBox6.Value
Cells(derligne, 7) = TextBox7.Value
End If
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub
Private Sub CommandButton3_Click()
Dim no_ligne As Integer
no_ligne = ComboBox1.ListIndex + 1
TextBox1.Value = Cells(no_ligne, 1).Value
TextBox2.Value = Cells(no_ligne, 2).Value
TextBox3.Value = Cells(no_ligne, 3).Value
TextBox4.Value = Cells(no_ligne, 4).Value
TextBox5.Value = Cells(no_ligne, 5).Value
TextBox6.Value = Cells(no_ligne, 6).Value
TextBox7.Value = Cells(no_ligne, 7).Value
End Sub
Bonjour,
Si vous devez chercher des informations sur plusieurs fichiers, il faut manipuler ces derniers en mode ouverture.
Sans cela, vous ne pourrez pas récupérer ou affecter des données dessus.
un exemple serai le bienvenue merci
Bonjour, pour commencer merci et bravo pour vos tutos très riche et expliqué d'une façon à ce que tout le monde puisse en profiter.
J'ai un problème lors du remplissage de la BD. Si celui-ci ne comporte aucune donnée et que je rentre une première entrée,
j'ai ce message d'erreur après avoir cliquer sur VALIDER:
'on incrémente le numéro de matricule
ActiveCell.Offset(0, -1).Value = ActiveCell.Offset(-1, -1) + 1 ( A CE NIVEAU LA, TOUTE LA LIGNE EST SURLIGNéE EN JAUNE )
'Unload.me 'permet de masquer le formulaire
Merci pour votre futur aide
Pourquoi vous demandez à vous decaler d'une colonne vers la gauche et une ligne vers le haut ???
@@Learnaccess C'est le code que j'ai recopié que vous avez écrit sur le module 2 à 21:10
@@ydb2465 Si vous l'avez bien dans votre Else cela doit marcher....
@@Learnaccess je l'ai bien dans le Else mais le problème reste le même. A noter que si j'ai rentrer exemple un nom dans la BD et qu'ensuite je rentre des données depuis le formulaire aucun problème. Le problème survient uniquement si mon tableau est vide
@@Learnaccess je l'ai bien dans le Else mais le problème reste le même. A noter que si j'ai rentrer exemple un nom dans la manuellement dans BD et qu'ensuite je rentre des données depuis le formulaire aucun problème. Le problème survient uniquement si ma BD est vide
Bonsoir monsieur et encore bravo pour tous vos tuttos j'ai mis en application ces 3 tuttos pour alimenter une base de données articles mais j'ai un petit problème pour la numérotation automatique n'auriez vous pas un petit code pour que à la place de prendre le numéro de la ligne précédente et de faire plus un. De prendre le plus grand nombre de la colonne matricule et d'ajouter un car qd je remets ma liste des articles par ordre croissant mon dernier nombre de ma colonne matricule n'est plus le plus grand. Merci d'avance monsieur