Création d'un fichier de gestion d'appels entrant

Bonjour,

Je me permets de venir vers vous car j'ai beaucoup de mal dans la maitrise d'excel.

Je dois faire en sorte de créer un fichier de gestion des appels entrants pour le compte de la société pour laquelle je travail.

Nous disposons de deux agences dans deux villes différentes dont les appels entrants sont gérés par une collègue.

J'aimerai savoir si vous pouvais m'aider à formaliser un fichier permettant simplement de pouvoir créer un appel entrant avec comme information :

DATE NOM TEL COMMENTAIRES Agence: 1/2 COLLABORATEUR : Celine/Soufiane/Sebastien TRAITEMENT: à faire/ à rappeler/ en attente TRAITE:

Sur l'onglet traite est il possible de créer une case à cliquer dans laquelle il peut y avoir une macro permettant de basculer la ligne en traité et de la mettre dans un autre onglet.

L'objectif est de faciliter le travail de tous les collaborateurs afin que notre assistante puisse saisir seulement les appels et que chaque collab puissent faire sa propre gestion.

J'ai trouver sur le forum d'autre sujet comme celui ci avec des éléments trés interressant .

J'espère avoir étais suffisamment clair, et je compte vraiment sur vous pour m'aider.

Merci vraiment par avance.

Bonjour,

A tester!

Quand le problème est traité, une petite flèche en colonne J pour archivage.

Cordialement

Bonjour,

Merci beaucoup pour votre retour si rapide, cependant je n'arrive pas bien a comprendre le fonctionnement de l'archivage, quand je clique sur le ? il ne se passe rien.

L'obectif est vraiment d'avoir une visibilité clair sur l'onglet principale des demande non traitées.

Une autre question: est-il possible d'inclure dans votre fichier plusieurs onglet en fonction des différents collaborateurs permettant de transferer le message par personne. Exemple quand un collaborateur regarde le fichier, il puisse aller directement dans son onglet et voir que les demandes qui le concerne?

Bien cordialement

Bonjour à tous

Je me suis permis d'améliorer le code de ddetp88

Puisqu'on utilise des tableaux structurés il est préférable de coder en conséquence et j'ai préféré le double clic sur la ligne plutôt qu'une colonne de flèches sur 1000 lignes

A noter qu'en l'état toutes les colonnes sont obligatoires : voir si c'est le cas selon vos règles

Re, et bonjour 78Chris,

img1

Pour ma proposition, il faut cliquer sur la petite flèche noire qui apparait en colonne J lorsque en colonne traitement la cellule est = à "Traité"

Ensuite pour répondre à ta question, oui il est possible d'envoyer l'archivage vers d'autres onglets. Si j'ai bien compris il faut autant d'onglets que de collaborateurs!

Précise si tu veux continuer avec ma proposition ou celle de Chris. Il se fera lui aussi un plaisir de répondre à ta question.

Il est vrai qu'avec sa proposition le tableau est illimité en nombre de lignes.

Tiens nous au courant.

A te relire

Bonsoir,

Oui effectivement nous aurions besoins d'autant d'onglets que de collaborateur.

A savoir un au nom de Valérie, un à Sébastien, un à celine, un à soufiane.

L'objectif est que quand l'assistante valerie reçoit un appel elle puisse le renseigner sur l'onglet principale, que celui ci alimente automatiquement les onglets de chacun en fonction du choix du collaborateur.

Une fois la tâche de chacun effectue qu'on puisse archiver comme proposer mais que ça puisse le retirer de l'onglet principale.

J'espère avoir était assez clair dans mon explication.

Encore sincèrement merci de m'aider à ce point.

Cordialement

Bonjour,

Ma version car je n'ai malheureusement pas réussi à adapter celle de 78Chris. (J'aimerai bien voir ta version Chris car les listobject me sont méconnus. J'ai envie de commencer au vu des quelques lignes faites par tes soins. Si tu as un lien à me transmettre ça me fera plaisir.)

Cordialement

Voilà ce que j'ai réussi à faire avec la base de 78Chris.

A la première écriture, l'écriture ne se fait pas sur la deuxième ligne des tableaux et je ne vois pas pour le moment comment faire.

Rappel un double clic sur les lignes pour envoyer dans le tableau des collaborateurs et du tableau des collaborateurs un double clic pour archiver.

Le code est assurément perfectible.

A tester:

Cordialement

RE

Voilà ce que j'ai réussi à faire avec la base de 78Chris.

A la première écriture, l'écriture ne se fait pas sur la deuxième ligne des tableaux et je ne vois pas pour le moment comment faire.

C bien

Il y avait un souci de référence à la source dans la cible d'où la mauvaise ligne dans l'onglet cible qui aurait donné des écrasements de lignes par la suite ou autres PB

J'ai corrigé également pour la feuille afin de faire référence au tableau et non aux cellules (fichier 3b)

Une autre approche (fichier 4) : on considère que

  • le 1er onglet Liste des appels
    ne sert qu'à attribuer un opérateur donc est sans la case Traitement
  • doit basculer d'un coup tout ce qui est attribué
  • les autres onglets sont complétés au fur et à mesure donc basculés ligne à ligne par double clic
  • Dans la mesure où toutes les feuilles fonctionnent de la même façon, il est préférable de mettre un seul code dans le module Workbook

    Re,

    Super sympa d'avoir pris le temps de répondre. Je pense que Smool a de quoi faire en espérant qu'il y trouvera son bonheur.

    Je vais étudier tes fichiers demain, de bon matin.

    Excellente fin de soirée à vous deux.

    Bonsoir,

    Je tenez encore à vous dire un grand merci pour votre aide pour le fichier, j'ai réussi à formaliser ce qu'ils nous faut pour notre structure.

    Encore merci et vive la communauté.

    Bonjour,

    Encore une question à vous poser, pourriez vous m'indiquer la procédure à suivre pour inclure le fait que la colonne A (jusque la vide) puisse être transférer sur les différents collaborateurs (la colonne A est juste la pour nous préciser qui à pris l'appel quand notre assistante n'est pas disponible).

    Est-il possible de me donner directement la vision de visual basic pour la modification car nous avons déjà commencé à utiliser le fichier

    Autre chose : est-il possible de faire en sorte que sur l'onglet appel que la cellule date ce remplisse automatiquement lors du lancement du fichier?.

    Merci par avance.

    Cordialement.

    Bonjour

    Sur archives aussi ?

    Sur Ventiler (voir mes 2 repères)

    Option Explicit
    Sub ventiler()
    Dim Cible As ListObject, CibleR As Range, Ligne As ListRow, i As Long, enreg As Long
    
       With [Appels].ListObject
            For i = .ListRows.Count To 1 Step -1
                Set Ligne = .ListRows(i)
                'Si ligne complétée vers feuille collaborateur
                If Application.CountA(Ligne.Range.Cells) = Ligne.Range.Columns.Count Then
                    Set Cible = Worksheets(Ligne.Range.Columns(7).Value).ListObjects(1) '............ici
                    enreg = Cible.ListRows.Add.Index
                    Set CibleR = Cible.DataBodyRange.Rows(enreg).Resize(1, 7)'on copie sur 7colonnes ......ici
                    CibleR.Value = Ligne.Range.Value
                    Ligne.Delete
                End If
            Next
        End With
    End Sub

    J'ai oublié de préciser que finalement nous utilisons le fichier ci-joint.

    Pas besoin pour les archives.

    RE

    Décidément !

    Je laisse ddetp88, qui avait convenu que sa solution ne tirait pas parti des tableaux structurés et contient inutilement un code par onglet au lieu d'un code unique, te répondre...

    Je suis vraiment navré mais effectivement une fois le premier fichier envoyé à mon responsable celui-ci a commencer à l'utiliser directement.

    Je comprend votre point de vue. mais notre structure est relativement petite, et le fichier est la pour gagner du temps pour notre assistante qui depuis 20 ans utiliser un format papier.

    Je voudrais juste faire en sorte que la colonne A puisse se transférée avec les autres après chaque remplissage.

    Cordialement.

    Bonjour 78Chris et Smool,

    78Chris a entièrement raison et je suis dépité que tu aies fait le choix de ma proposition. J'ai bien compris que le fichier était en service et c'est pourquoi j'ai fait le job afin de te rendre service.

    Néanmoins, je me demande s'il ne sera pas préférable de recopier des lignes archivées car le code change à beaucoup d'endroit.

    Sinon voici le détail des codes à recopier:

    Code à placer dans le thisworkbook

    Private Sub Workbook_Open()
    With Sheets("Appels")
       DerL = .Range("B" & Rows.Count).End(xlUp).Row + 1
       If ActiveSheet.Name = "Appels" Then
          .Range("B" & DerL) = Date
       Else
          .Activate
          .Range("B" & DerL) = Date
       End If
    End With
    End Sub

    Code à placer dans la feuille appel:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim DerL%, Feuille$
    If Not Intersect([J6:J1500], Target) Is Nothing And Target.Count = 1 And Cells(Target.Row, "G") <> "" Then
       Application.ScreenUpdating = False
       For Each C In Range(Cells(Target.Row, 2), Cells(Target.Row, "G"))
          If C = "" Then
             C.Select
             MsgBox "Il manque des données avant de procéder à l'archivage", vbCritical, "Information"
             Exit Sub
          End If
       Next
       'vers archive
       Feuille = Cells(Target.Row, "G")
       With Sheets(Feuille)
          DerL = .Range("H" & Rows.Count).End(xlUp).Row + 1
          .Cells(DerL, "A") = Date & " à " & Format(Time, "hh:mm")
          Range(Cells(Target.Row, 1), Cells(Target.Row, "A")).Copy .Range("B" & DerL)
          Range(Cells(Target.Row, 2), Cells(Target.Row, "H")).Copy .Range("C" & DerL)
    
          Cancel = True
          Rows(Target.Row).Delete
       End With
       Application.ScreenUpdating = True
    
    End If
    End Sub

    Code à placer dans les feuilles des collaborateurs

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim DerL%, Feuille$
    If Not Intersect([A6:I1500], Target) Is Nothing And Target.Count = 1 And Cells(Target.Row, "I") = "Traité" Then
       For Each C In Range(Cells(Target.Row, 3), Cells(Target.Row, "I"))
          If C = "" Then
             C.Select
             MsgBox "Il manque des données avant de procéder à l'archivage", vbCritical, "Information"
             Exit Sub
          End If
       Next
       'vers archive
       Feuille = "Archive"
       With Sheets(Feuille)
          DerL = .Range("I" & Rows.Count).End(xlUp).Row + 1
          .Cells(DerL, "A") = Date & " à " & Format(Time, "hh:mm")
          Range(Cells(Target.Row, "B"), Cells(Target.Row, "I")).Copy .Range("B" & DerL)
          Cancel = True
          Rows(Target.Row).Delete
       End With
    End If
    
    End Sub

    Enfin j'ai créé un module qui permet d'inscrire aussi la date dans la feuille appel à tous moments.

    Point vert dans la colonne date de cette feuille.

    Le fichier

    Bonne réception

    RE

    Décidément !

    Je laisse ddetp88, qui avait convenu que sa solution ne tirait pas parti des tableaux structurés et contient inutilement un code par onglet au lieu d'un code unique, te répondre...

    Si jamais cela peut te rassurer un tout petit peu, tu m'as énormément appris avec ce fichier et je m'en vais de ce pas essayer de reproduire ceci dans d'autres circonstances pour voir si j'ai bien compris.

    En tant que néophyte, j'aurais mis la sub ventiler dans un module. Qu'est-ce que ça apporte ici qu'elle soit plutôt sur la feuille ?

    Quant au double clic qui envoie voir ailleurs si on y est : Un immense merci.

    Bonjour JoyeuxNoel,

    Oui tu as raison, mais je n'ai pas voulu faire de modifications majeures du fait qu'il est déjà en service.

    Cdt

    Bonjour JoyeuxNoel,

    Oui tu as raison, mais je n'ai pas voulu faire de modifications majeurs du fait qu'il est déjà en service.

    Cdt

    Ah non mais je comprends tout à fait. Et votre patience à tous les deux a déjà été admirable vu tous les changements qu'il a fallu faire !

    C'était juste pour rassurer Chris sur l'utilité de ce qu'il a fait, en aucun cas une remise en cause de ton travail !

    Rechercher des sujets similaires à "creation fichier gestion appels entrant"