Réaliser un outil de suivi via Excel

Ok on va faire au plus simple :

En cellule C3, la formule est =INDEX(Tableau3;EQUIV(A1;Tableau3[ID];);4) Cela fait donc ressortir le nom de mon agence.

Maintenant, je veux modifier cette information et que la base enregistre cette nouvelle donnée.

Ex : Marseille en Bordeaux.

Comment cette information peut se retrouver en face de l'ID crée ?

En cellule C3, la formule est =INDEX(Tableau3;EQUIV(A1;Tableau3[ID];);4) Cela fait donc ressortir le nom de mon agence.
Comment cette information peut se retrouver en face de l'ID crée ?

Alors il ne faut pas mettre de formule à cet endroit. Raison pour laquelle je vous écrivais de déterminer ce qui peut être modifié. Si ce sont toutes les celllules alors il ne faut aucune formule dans la feuille suivi
On entre l'ID en A1 et c'est un code qui rapatrie les données dans la feuille de suivi.
une fois la modification faite, c'est votre bouton MAJ qui fera la modification dans la feuille Base sur la ligne de l'ID repris en cellule A1

Ok pour cela ?

Je suis ok pour cette méthode.

Du coup, j’ai juste besoin du code VBA pour le bouton c’est bien ça ?
qui va incorporer les modification et les mettre dans la ligne de L’ID correspondant.

Du coup, j’ai juste besoin du code VBA pour le bouton c’est bien ça ?
qui va incorporer les modification et les mettre dans la ligne de L’ID correspondant.

Oui.

J'ai modifié votre fichier. Vous aurez trois codes :
- 1 pour l'ajout des données dans la feuille Base depuis la feuille Saisie
- 1 pour rapatrier les données dans la feuille de suivi et modifier ce que vous voulez. Sauf si vous me dites que certaines données ne peuvent être modifiées. Attention au code agent qui n'est pas repris sur cette feuille suivi !! Je suppose qu'il n'est pas modifiable
- 1 pour modifier la feuille Base depuis la feuille Suivi --> c'est le bouton MODIFIER qui doit être associé à la macro ??

Dites moi si ok

Dès que terminé, je posterai le fichier complet vu tous les changements que j'ai effectués (noms dans le gestionnaire de noms, codes dans les modules)

Je pense qu’on est pas mal.
Hâte de voir le résultat de ce que je n’arrivais pas.

Bonjour,

revoici votre fichier avec les changements suivants

1. Feuille Menu Déroulant :

- données mises en tableau structuré (Si vous ajoutez une ligne, il suffit d'ajouter juste en dessous de la dernière ligne des tableaux. Elle sera automatiquement prise en compte dans le tableau structuré et visible dans la liste déroulante en feuille saisie ou suivi. exemple en colonne E, ajoutez en E4 un nouveau gestionnaire)
- attribution de noms dans le gestionnaire de noms pour les liste de validation

2. Feuille Saisie :

- Liste de validation rédéfinies avec noms créés dans le gestionnaire de noms

3. Feuille Suivi :

- La cellue A1 est utilisée pour mettre l'ID
- Ajout d'un code dans la feuille Suivi pour rapatrier les données depuis la feuille Base. Le code est exécuté dès que vous mettez un ID en A1
- Les données en feuille Base sont modifiées dès que vous cliquez sur le bouton MAJ
- Les listes déroulantes que vous avez en feuille Saisie sont aussi placées dans la feuille Suivi (D1, H4 et J4) pour que vous puissiez modifier les données si vous voulez

NB : Dans la feuille Base les trois tableaux en dessous et la ligne 1 sont supprimées.
Votre feuille rechercher ne sert plus. Elle est supprimée

Vous avez plusieurs boutons modifier. Pourquoi ne pas en mettre un seul au dessus de votre feuille ?

Faites un test avant d'aller plus loin

Rem : Lorsque vous allez télécharger le fichier, les macros ne seront pas activées. Lisez ce lien pour débloquer les macros --> https://excel-pratique.com/fr/astuces_vba/debloquer-les-macros

Cordialement

Bonjour Dan,

Merci pour ce retour et votre grande aide ;)

1. Feuille Menu Déroulant :

Top.

2. Feuille Saisie :

Idem

3. Feuille Suivi :

- La cellue A1 est utilisée pour mettre l'ID

Ok pour l'ID en revanche, il peut y avoir plusieurs ID pour une même agence.

Comment je peux le retrouver sans passer par la feuille "BASE" ? C'était "le but" de la feuille RECHERCHER pour retrouver dans l'ordre chronologique tous les dossiers de cette agence.

- Ajout d'un code dans la feuille Suivi pour rapatrier les données depuis la feuille Base. Le code est exécuté dès que vous mettez un ID en A1

C'est ce code !

Option Explicit
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TS As ListObject
Dim lig As Integer
If Target.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("A1")) Is Nothing Then
With Sheets("Base").ListObjects("Tab_base")
Call effacer
On Error Resume Next
lig = WorksheetFunction.Match(Range("A1").Value, .ListColumns(1).DataBodyRange.Value, 0) ' - .HeaderRowRange.Row
If lig = 0 Then MsgBox "ID inconnu", vbCritical, "Erreur ID": Exit Sub
Range("D1") = .DataBodyRange(lig, 6).Value 'motif
Range("C2") = .DataBodyRange(lig, 5).Value 'agent
Range("C3") = .DataBodyRange(lig, 4).Value 'Agence
Range("E4") = .DataBodyRange(lig, 8).Value 'date effet
Range("H4") = .DataBodyRange(lig, 7).Value 'gestionnaire
Range("J4") = .DataBodyRange(lig, 2).Value 'region
Range("D15") = .DataBodyRange(lig, 10).Value 'date demande pretstaire
Range("F15") = .DataBodyRange(lig, 12).Value 'commentaire retour
End With
End If
End Sub

Si oui, pour les autres données à rechercher j'ai juste à suivre le cheminement ?

Ex : Range("H15") = .DataBodyRange(lig, 13).Value 'Retour Prestataire

Vous avez plusieurs boutons modifier. Pourquoi ne pas en mettre un seul au dessus de votre feuille ?

Je suis totalement d'accord avec vous. J'avais mis plusieurs boutons car je ne pensais pas pouvoir réaliser une seule mise à jour pour toute la feuille via un code.

Vous l'avez vu, je suis super mega novice :)

Je veux juste nous simplifier la vie avec une meilleure ergonomie car aujourd'hui on écrit tout sur une ligne interminable.

Bonjour

Lorsque vous postez un code, utilise l'icone </> disponible dans la barre de menu. C'est plus clair à lire


Si oui, pour les autres données à rechercher j'ai juste à suivre le cheminement ?

Le code que vous postez est celui qui permet d'aller rechercher les données en rapport à l'ID choisi.
Votre exemple au sujet de H15 est correct. le chiffre 13 correspond à la 13ieme colonne dans votre tableau (donc pas à la 13ieme colonne de la feuille)

Comment je peux le retrouver sans passer par la feuille "BASE" ? C'était "le but" de la feuille RECHERCHER pour retrouver dans l'ordre chronologique tous les dossiers de cette agence.

Dans votre feuille rechercher, je vous avais posé la question de comment vous retrouviez le dossier qui ne contenait aucun formule.
Là je pense avoir compris. Vous entiez en B3 l'agence et la tableau grisé devait vous donner la liste et l'ID. Le souci est que vous n'aviez qu'une formule en D6. D'où je n'ai pas compris votre mode de fonctionnement
Mais si vous voulez je peux adapter pour remettre cette feuille où peut être mieux mettre votre tableau recherche à droite dans votre feuille Suivi ou comme je vous en avais parlé à droite dans la feuille Saisie
Ensuite on peut créer une liste déroulante des agences trouvées dans le tableau Base, puis vous choisissez l'agence et de vous donnera la liste des dossiers renseignés
Dites-moi ce que vous voulez pour que j'adapte le fichier

Pour répondre à votre question, en effet j'avais mis cette formule pour retrouver les différents dossiers :

=TRIER(FILTRE(CONCATENER(TEXTE(Tableau3[Date d''effet];"aaaa mm"); " =>" &" "&Tableau3[MOTIF];" : N° de dossier ";Tableau3[ID]);Tableau3[Agence]=B3);;-1)

Mais si vous voulez je peux adapter pour remettre cette feuille où peut être mieux mettre votre tableau recherche à droite dans votre feuille Suivi ou comme je vous en avais parlé à droite dans la feuille Saisie

Si on peut mettre un tableau à droite je suis preneur. Il faudrait juste qu'on puisse le déplacer si besoin.

Dites-moi ce que vous voulez pour que j'adapte le fichier

Si je supprime les lignes 17 à 21, 30 à 38, 46 à 51 etc... (En gros les boutons MODIFIER Oranges avec les cases blanches) Est-ce que le code fonctionnera toujours ?

Le but était de développer les différents items (BAT/DEVIS - POSE...) avec les infos correspondantes aujourd'hui avec un seul bouton MAJ cela n'est plus nécessaire.

Pour EDL envoyé (en A6 Formulaire de Suivi) est-il possible lorsqu'il y a le clic ENVOYER LE MAIL d'enregistrer dans la base la date et l'heure ?

Il y aura aussi cette manip dans la Facturation.

Est-il possible aussi que lorsque les cases D15 - E15 et H15 sont notifiées, que le bouton BAT et DEVIS soit en vert ?

Il faudra que je passe par une mise en forme conditionnelle ?

Un grand merci encore.

Si on peut mettre un tableau à droite je suis preneur. Il faudrait juste qu'on puisse le déplacer si besoin.

Dans quelle feuille ? Si feuille Saisie cela pourrait ressembler à ceci. Il vous suffirait de choisir l'agence pour obtenir la liste des dossiers en dessous

image

Si je supprime les lignes 17 à 21, 30 à 38, 46 à 51 etc... (En gros les boutons MODIFIER Oranges avec les cases blanches) Est-ce que le code fonctionnera toujours ?

Vous parlez de la modification je suppose. Si oui, actuellement le code ne fait référence à des cellules jusque la ligne 15. Donc si vous supprimez des lignes en dessous. Cela fonctionnera.

Pour EDL envoyé (en A6 Formulaire de Suivi) est-il possible lorsqu'il y a le clic ENVOYER LE MAIL d'enregistrer dans la base la date et l'heure ?

Oui mais peut-être à voir quand votre formulaire sera terminé et que cela fonctionne pour le reste

Est-il possible aussi que lorsque les cases D15 - E15 et H15 sont notifiées, que le bouton BAT et DEVIS soit en vert ?

Oui.

Dans quelle feuille ? Si feuille Saisie cela pourrait ressembler à ceci. Il vous suffirait de choisir l'agence pour obtenir la liste des dossiers en dessous

Pour aujourd'hui, c'est top mais si jamais (avec le temps) on veut le déplacer dans une autre feuille c'est possible facilement ?

Pour aujourd'hui, c'est top mais si jamais (avec le temps) on veut le déplacer dans une autre feuille c'est possible

Si vous déplacez ailleurs, oui mais il faudra revoir le(s) code(s) en place. C'est souvent le souci avec la programmation.
Le mieux est de toujours connaitre le résultat attendu avant de passer à la programmation.

Si vous partez sur ce que je vous ai proposé, je dois savoir ce que vous voulez après avoir fait une recherche dans la liste déroulante.
Un clic dans une cellule ou un bouton qui permet de rapatrier les données en feuille suivi

Je comprends et c'est super compliqué de savoir en amont.

Si vous partez sur ce que je vous ai proposé, je dois savoir ce que vous voulez après avoir fait une recherche dans la liste déroulante.

Un clic dans une cellule ou un bouton qui permet de rapatrier les données en feuille suivi

On va partir sur un bouton svp.

Encore merci de votre aide et explications ;)

re

Votre fichier en retour

1. Feuille Saisie

- Ajout du tableau à droite pour la recherche
- Le bouton Vert "Liste agence", permet de remplir la liste déroulante en K5 avec toutes les agences reprises en feuille Base
- Dès que vous avez sélectionné une cellule entre J8 et J16, le bouton Valider va envoyer l'ID en cellule A1 et permettre de rapatrier les données dans la feuille de suivi.
Comme proposé précédemment vous pouvez toujours mettre l'ID directement en A1 dans la feuille Suivi. Rien n'est changé de ce coté.

NB : si vous videz la cellule K5 en feuille de saisie, le code supprime les données depuis ligne 8 à 16.

2. Feuille Suivi

- Comme demandé le texte du bouton change de couleur dès les cellules D15, E15 et H15 sont complétés. C'est le code Couleurbouton qui active cette fonction depuis le code placé dans la feuille Suivi.

3. Code Sub BoutonX_Cliquer()

J'ai modifié tous les codes pour éviter les IF THEN ELSE. Tout se fait sur une seule ligne.

NB : J'ai renommé vos modules donc repartez bien de ce fichier là pour avancer dans votre projet.

Bon test et n'oubliez pas de débloquer les macros après avoir chargé le fichier.


EDIT : On peut aussi envisager que la liste déroulante dans l'espace "Recherche" soit actualisée à chaque nouvelle saisie dans le formulaire de saisie. Cela vous éviterait de cliquer sur le bouton vert "Liste Agence". Idem si on veut actualiser cette liste sur la sélection de la feuille Formulaire Saisie

Bonjour et merci.

Je viens de tester en suivant les étapes mais :

Dès que vous avez sélectionné une cellule entre J8 et J16, le bouton Valider va envoyer l'ID en cellule A1 et permettre de rapatrier les données dans la feuille de suivi.

J'ai une erreur qui apparait (cf Print) et le numéro de dossier en A1 "feuille de suivi" ne fonctionne plus.

image

Pour le reste j'ai pas encore tester. Merci beaucoup

J'ai une erreur qui apparait (cf Print) et le numéro de dossier en A1 "feuille de suivi" ne fonctionne plus.

Oui exact. Désolé.
Faites ceci :
- Allez dans le code "Valider" du module "Recherche"
- Juste après le THE, supprimez --> f. qui sont juste devant Range

Ensuite allez dans le module "Routines"
- Allez au code Sub CouleurBouton()
- remplacez WITH FEUIL7 par WITH FEUIL4 (donc remplacer le 7 par 4

Super.

J'ai encore un nouveau message 😂 :

Quand je créer un nouveau dossier pour la même agence ex : Marseille x2, j'ai le code erreur exécution 457

For Each c In TS.ListColumns(4).DataBodyRange
    tablo.Add c.Value, CStr(c.Value)
Next c

Merci

Quand je créer un nouveau dossier pour la même agence ex : Marseille x2, j'ai le code erreur exécution 457

Oui normal.
1. Juste avant la ligne For each C..., ajoutez cette ligne

On Error Resume Next

2. plus bas, juste en dessous de la ligne NEXT ITEM, ajoutez ceci

On Error GoTo 0

3. Faites un clic droite sur l'onglet Formulaire de saisie et dans le code Private Sub Worksheet_Change juste avant la ligne --> Set c = .ListColumns(4).DataBodyRange.FindNext(c), rajoutez ceci

ligR = ligR + 1

Je viens de suivre les étapes et j'ai toujours le code erreur 457 :

Cette clé est déjà associée à un élément de cette collection.

Le débogage me ramène à cette ligne.

Je viens de suivre les étapes et j'ai toujours le code erreur 457 :
Cette clé est déjà associée à un élément de cette collection.

Je pense que vous n'avez pas suivi exactement ce que j'ai écrit
C'est bien lorsque vous cliquez sur le bouton Liste Agence que vous avez cette erreur ?

NB : Avec le On error resume next c'est impossible d'avoir une erreur. Sinon postez-moi le code qui donne l'erreur.

Rechercher des sujets similaires à "realiser outil suivi via"