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 !

zeltron24

XLDnaute Impliqué
Bonsoir à tous,
J'ai repris un classeur que Jean-Marcel m'a "concocté", mais je suis perdu dans les codes.
Aussi je souhaiterai avoir votre aide car pour être franc, je ne comprends pas le fonctionnement des macros, donc en allant par tatillonnement, je parviens plus ou moins à un résultat.
Le principe est de sélectionner un produit ou un code et de le remettre dans les textbox correspondant afin de les enregistrer après modifications.
Il m'est possible d'inscrire aussi un nouveau produit et de l'enregistrer.
Ce qui me perturbe le plus c'est la sélection des lignes et colonnes. genre :
For n = 2 To 11: Me("T" & n)
For Li = 3 To Cells(Rows.Count, 1).End(xlUp). Row
Je ne comprends pas le principe.
Merci d'avance pour votre aide.
zeltron24
ci joint le classeur.
 

Pièces jointes

Re : Aide aux macros

Bonsoir JBARBE,
J'avais vu le problème et je l'ai corrigé, mais dans votre correction il y a aussi un problème:
Lorsque je clique sur "PRODUITS" j'ai la même erreur que Jean-Marcel je l'ai corrigé.
Y aurait il moyen de mettre la formule ci après dans un Frm avec des TextBox :

Code:
=SI($K$1="NON";"Absent de la liste";RECHERCHEV($H$1;$C$3:$E$500;1;0)&" : "&RECHERCHEV($H$1;$C$3:$E$500;2;0)&" - "&RECHERCHEV($H$1;$C$3:$E$500;3;0)& " €")

Ceci me permettrait de faire une recherche sur un code précis car lorsque j'inscrit un code dans la liste déroulante j'ai une erreur.
Donc je pensé créer un formulaire afin d'effectuer une recherche par code pour me donner le code, le produit et son prix dans des TextBox.
 
Re : Aide aux macros

Voici le fichier modifié lorsqu'on clique sur PRODUITS !

Je n'avais pas tenu compte d'Excel 2003 dépourvu de rowsource !

Pour ce qui concerne ta demande, désolé je sèche !

bonne soirée !
 

Pièces jointes

Re : Aide aux macros

Merci JBARBE
j'ai trouvé une petite erreur dans
Private Sub L2_Click()
If L2.ListCount > 1 Then Li = L2.List(L2.ListIndex, 4)
li faut mettre 5 à la place de 4 pour sélectionner le produit dans L2 sinon j'ai une erreur
J'ai essayé et cela fonctionne.
Bonne soirée et encore mille merci pour votre aide.
J'ai trouvé une solution simple pour mettre dans l'userform , je fais un copié des cellules dans les text box
 
Re : Aide aux macros

salut

merci aux suppléants😀. Je vois, Zeltron que tu as saisi le mode de fonctionnement mais il est toujours délicat d'adapter un modèle quand le nombre de contrôles change.
Les choix de recherches n'amenant pas la même réflexion (liste sans doublon avec lignes multiples et liste unique avec ligne unique) j'ai préféré passer par 2 listes déroulantes.
Pour éviter des confusions entre modifier et ajouter, j'ai développé chaque chaque séparément (2 UsF).
Cela oblige à avoir certains codes répétés mais tant qu'il n'y en a pas des mille et des cents et que cela permet de mieux contrôler les étapes cela peut aider à mieux comprendre les étapes de programmation.
J'espère qu'il n'y a presque plus d'erreurs mais celles qui auraient subsisté seraient facile à corriger.
 

Pièces jointes

Re : Aide aux macros

Bonjour Si....

Merci beaucoup pour ton travail j'ai retravaillé avec tous les renseignements récupérés par vous tous pour donner le classeur ci joint.
Malheureusement, je bloque sur la numérotation lors d'une modification.
1 - je souhaiterai voir afficher le numéro du produit sélectionné dans le TxtFiche
2 - Lors d'une modif le numéro doit rester inchangé.
3 - J'ai de temps en temps une erreur lors de la saisie du code dans le FrmRecherche
4 - Je désirerai que lorsque je clique sur "recherche" du FrmRecherche, excel se place sur la ligne correspondante dans la feuille "Produits".
Grace à vous tous j'arrive à une solution qui me donne des idées pour améliorer mon formulaire.
Il est vrai que je rajoute au fur et à mesure suivant vos données. Cela me permets de mettre en pratique vos connaissances afin de mieux comprendre le VBA
Un grand merci à vous tous
Cordialement zeltron24
 

Pièces jointes

Dernière édition:
Re : Aide aux macros

Bonjour à tous,
Je reviens vers vous pour améliorer le classeur.
J'ai réussi à trouver un code pour mettre en surbrillance un produit en doublon, mais je souhaiterai qu'Excel se place sur le premier produit en double.
De plus, si cela est possible, je désirerai aussi lorsque je recherche un produit, que le numéro affilié à ce produit (Cellule A) se place dans le TxtFiche en haut à droite du formulaire.
Merci d'avance pour l'aide que vous pourriez m'apporter.
 

Pièces jointes

Re : Aide aux macros

Bonsoir le forum,

Pour les besoins de mon travail, on m'a demandé de rajouter une colonne F "Conditionnement"
Le bouton "Ajouter" "B2" a pour code:
Private Sub B2_Click() ' Contrôle pour les données obligatoires Bouton Ajouter.
Dim R As Range

If ComboBox1 = "" And T1 = "" Then
ComboBox1.BackColor = &H8080FF
MsgBox "Saisissez un produit !", vbCritical, "Attention..."
ComboBox1.BackColor = &H80000005
ComboBox1.SetFocus
Exit Sub
End If

For n = 0 To 5
With Me("T" & Array(1, 2, 3, 4, 5, 6)(n))
If .Value = "" Then
.BackColor = &H8080FF
MsgBox "Saisie obligatoire !", vbCritical, "Attention..."
.BackColor = &H80000005
Me("T" & (n)).SetFocus
Exit Sub
End If
End With
Next

'Ajout
L = IIf(Dl = 2, 3, Dl + 1)
Set R = Cells(L, 1)
R = L - 2
For n = 1 To 6
R(1, n + 1) = Me("T" & n)
Next
R(1, 4) = Format(T4, "#,##0.00 €")

If MsgBox("Votre produit a été enregistré." + Chr(10) + "Désirez-vous enregistrer un autre produit ? ", vbQuestion + vbYesNo + vbDefaultButton2, _
"Enregistrement suivant") = vbNo Then Unload Me: Exit Sub

Range("B1500").End(xlUp).Offset(1, 0).Select ' Se place sur la dernière ligne
B6_Click ' Bouton Fermer

End Sub

cela fonctionne seulement dans la colonne D ou doit se trouver le produit "T3" j'ai le prix "T4"
Quelqu'un pourrait il m'aider Merci.
 
Re : Aide aux macros

Re,
J'ai trouvé pour le problème de colonne ajouté, mais j'ai un autre souci :
Lorsque je supprime une ligne, la numérotation ne se fait pas correctement.
Le numéro de la ligne colonne "A" s'efface et donc de ce fait je saute un numéro.
Voici le code :
Code:
' Renumérotation
    If Dl - 1 = 2 Then Exit Sub
    For L = 3 To Dl - 1: Cells(L, 1) = L - 2: Next
  End If
Quelqu'un pourrait il m'expliquer comment fonctionne ce code. Merci
 
Re : Aide aux macros

Bonsoir le Forum,

Je vous redemande "A genoux" de l'aide, Je galère depuis dimanche afin de trouver comment renuméroter une ligne effacée et je ne trouve pas la solution. J'ai cherché sur le net, mais je ne pige pas les formules. Si quelqu'un pourrait me venir en aide, cela me retirerai une sacré épine du pied. D'avance Merci
La ligne s'efface entièrement mais de ce fait le numéro de ligne aussi ce qui me fait sauter un numéro.
 
Re : Aide aux macros

salut

Si... tu supprimes une ligne directement sur la feuille, formule à tirer vers le bas :

n°.jpg

La macro n'écrit pas la formule mais les valeurs !
 
Re : Aide aux macros

Bonjour le Forum,

Un grand merci pour ton aide. Y aurait il pas une formule qui me permettrait de supprimer que les colonnes A jusque G uniquement ?
De renuméroter les lignes correctement et de trier les lignes afin de remplacer la ligne "vide".
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
523
Réponses
90
Affichages
7 K
Réponses
3
Affichages
881
Réponses
9
Affichages
884
D
Réponses
4
Affichages
1 K
Réponses
6
Affichages
735
G
  • Question Question
Réponses
7
Affichages
1 K
Retour