Formulaire avec userform

Pas facile d’intégrer la donnée « AGENCE » avec en cible une cellule qui a déjà comme donnée :

« SITE / AGENCE…………………………… »
Quelle présentation :

Celle-ci : SITE / AGENCE……………………………AGENCEx
Celle-ci : SITE / AGENCE AGENCEx
Celle-ci : SITE / AGENCEx

A toi de me dire pour l’instance j’ai opté pour la première

Ton fichier avec ces petites évolutions
Testes et dis moi

fiche_trans.xlsm (22,0 Ko)

T’inquiète pas, agence 1/2 /3 c’est juste des exemples, les agences portent des nom différents, par contre les noms des agences doivent être identiques avec ceux de la liste créée sur la feuille que vous avez ajouté, donc pas possible que la source de donnés soit la colone agence dans "inventaire "

En d’autre terme ma dernière proposition te convient ?

J’ai apporté une évolution concernant cette donnée dans cette version ci-jointe
Onglet « Liste » en cellule « B2 » j’ai intégré sa souche à utiliser
Il faudra au grés de son évolution la mettre à jour

fiche_trans.xlsm (21,5 Ko)

oui très bonne idée, il reste juste ce petit truc, faut il obligatoirement utiliser la colonne agence de la feuille fiche et non celle de la feuille inventaire,car le cas échéant je devrais aussi avoir la même liste sur mon téléphone(le fichier inventaire a alimenté par une application scan code barre dans mon téléphone )

Je n’ai pas vu de colonne « AGENCE » dans l onglet « FICHE » je n l’ai que dans celui « INVENTAIRE »
que le traitement utilise
As tu récupéré ce dernier fichier que j ai modifié plusieurs fois pour un fonctionnement optimum ?
N’hésites pas à renouveler cette opération pour être certain d’avoir la bonne version
Qu’en est-il de tes tests ?

Oui j’ai testé le fichier et il fonctionne très bien, je voulais juste éclaircir le point précédent concernant la source de la liste agence, moi ce que je veux c’est la liste soit alimentée par la colonne agence dans Inventaire

Pour la colonne « AGENCE » le traitement utilise bien celle de l’onglet « INVENTAIRE » il n y en a pas dans l’autre onglet

oui mais vous utiliser la colonne A de la feuille 3 et pas la colonne F de la feuille inventaire, je comprend qu’il va y avoir des doublons dans ce cas , pas moyen que le nom de 'agence ne se répète pas ?

D’ou tu tiens cette affirmation ?
Le traitement scrute la colonne « F » de l’onglet « INVENTAIRE » compare sa donnée avec celle choisie en cellule « H2 » de ce même onglet pour chaque ligne et si il y a similitude exacte récupère toutes les données de cette ligne pour les repartir dans celles correspondante de l’onglet « FICHE » et de mettre en bout de la donnée "SITE / AGENCE…………………………… » celle-ci choisie en cellule « H2 »

Qu’est ce qui ne te convient pas dans cette démarche ?
Merci d’être plus claire car j’ai du mal à comprendre ta problématique

Ma problématique est simple, je veux avoir la possibilité de ne pas utiliser la liste agence de la feuille 3 et se contenter de la colone F de la feuille inventaire comme source (je sais que c’est peu délicat vu que les noms des agences se répète), sinon si il y a pas moyen je vais faire autrement à savoir adopter la même liste sur mon fichier(feuil 3) et sur l’appli de mon téléphone (sur l’appli je saisis les noms manuellement, donc risque d’avoir des erreur de frappe )

Il faut bien dire au traitement la donnée qu’il doit traiter en colonne « F » onglet « INVENTAIRE » c’est l’objet du choix dans cet onglet de la cellule « H2 » dans sa liste déroulante alimenté par la colonne « A » de l onglet « Liste »
Sinon il faut un autre artifice pour déterminer l’agence à traiter et le préciser au traitement c’est indispensable pour obtenir le résultat souhaité
On peut utiliser une boîte de dialogue dans laquelle le nom de l’agence est saisi à la main
On peut utiliser le doubleclick sur une cellule de la colonne « F » qui a le nom de l’agence concerné
On peut après avoir sélectionné la bonne cellule dans cette colonne avec le nom cliquer sur un bouton

Toutes ces solutions sont utilisables et d’eviter le choix dans une liste déroulante ainsique celle de l’onglet « Liste » pour la faire vivre
Reste à choisir laquelle
A toi de me dire

Je te propose cette solution
Même approche que les versions précédentes avec pour la confection de la liste déroulante de la cellule « H2 » onglet « INVENTAIRE » un bouton « Liste » dans ce même onglet
En cliquant dessus la liste des noms onglet « Liste » est automatiquement réinitialisée avec les noms de l’onglet « INVENTAIRE » colonne « F » en place au moment de ce clique
Plus besoin ainsi d’une intervention manuelle pour mettre à jour la colonne « A » de l’onglet « Liste » ce bouton s’en charge sur la base des noms en colonne « F » de l’onglet « INVENTAIRE » au moment de son clique

Testes et dis moi

fiche_trans2.xlsm (27,2 Ko)

C’est ok, je termine mes courses et je vérifie une fois rentré, merci beaucoup, vous avez déjà résolu 95% de mon problème même avant que je test ce dernier fichier

Merci j’attends donc des nouvelles

je viens de tester le dernier fichier l’idée est vraiment génial , bravo :raised_hands: :clap: :clap:

Je suis ravi de cette très bonne nouvelle
Et quant au fichier précédent quand est t’il ?

Je vais y travailler ce soir, pour voir le sort des autres fonctionnalité

Tiens moi informé de la suite

je suis entrain de bricoler un petit avec le fichier, je suis tombé sur un truc un peu banal mais qui énerve un petit peut, j’arrive pas a aligner mes entête avec la première colonne malgré plusieurs tentative

en même temps j’essaie d’utiliser le code suivant pour supprimer des lignes mais ça marche pas :

Private Sub delbttn_Click()

If Me.ListBox1.ListIndex < 0 Then
MsgBox « Please select the record(s) to delete. », vbCritical
Exit Sub
End If

If Me.ListBox1.List(Me.ListBox1.ListIndex, 0) = «  » Then Exit Sub

Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets(« Historique inter »)

Dim i As Long
Dim id As Long
Dim row_number As Long
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
id = Me.ListBox1.List(i, 0)
row_number = Application.WorksheetFunction.Match(id, sh.Range(« A:A »), 0)
sh.Range(« A » & row_number).EntireRow.Delete
End If
Next i

Call refresh_data
MsgBox « Deleted sucessfully », vbInformation

End Sub

Bonjour

« j’arrive pas a aligner mes entête avec la première colonne malgré plusieurs tentative »

Peut tu préciser que cherches tu à realiser ?
J’avoue être perplexe sur cet objectif à atteindre

Pour le deuxième point il me faut le contexte pour comprendre
Transmets moi le fichier avec cette programmation

Dans l’attente