Macro pour redaction et saisie automatique

Bonjour,

Je ne sais pas si cela existe mais je préfère demander directement ici.

Dans le cadre d’une réunion importante .

Je dois former un tableau Excel avec diffèrent onglets avec une importante listes d’information. Par exemple, j’ai une grille de numéros (de 1 à 800) correspondant a differents services, qui au cours de la réunion vont etre soit occupé ou non, en fonction des propos que je vais entendre.

Comme je vais travailler sur differents onglet (ou fenêtre) dans le même fichier excel.

Je dois reporter chaque numéro avec le nom de la personne pour chaque service.

Je ne sais pas si c’est possible mais existe t il une macro ou une formule qui me permet que :

- des que je colore un numéro il soit coloré automatiquement sur un autre onglet (ou fenêtre) correspondant à ma grille.

Par exemple si dans mon tableau 1 je colore le chiffre 2 il se colore dans la grille qui va de 1 à 800 ?

OU

- des que j’ecris un numéro, il s’ecrit automatiquement dans un autre tableau.

OU

- des que j’ecris un nom sur la ligne correspondante au numéro ce dernier se colore sur tout mes tableaux en temps réel.

Question de gagner du temps et que je peux en toute sécurité reporter sans stresse ces différents données qui s’ecrivent automariquement d’un tableau à l’autre (ou se colore automatiquement) afin de savoir ce qui me reste en temps réel de service non occupé.

J’espere Avoir été claire dans mon explication et tout en vous remerciant grandement si vous trouvez solution a mes difficultés.

Bonjour,

Est-il possible d'avoir un exemple du fichier que vous voulez remplir?

Je dirais bien que tout est possible avec Excel mais il faut vraiment des explications concrètes. Quand on vous dit par exemple que le poste 5 est occupé, y-a-t'il 1 seul onglet à mettre à jour ou plusieurs? Est-ce que ce sont les même onglets que si on vous parle du poste 62?

Cindy

Désolé de l’incomprehension.

Pour l’instant il met impossible de faire des imprimes ecrans. Néanmoins, pour reformuler au mieux :

Par exemple

Onglet 1 qui va servire de PROJECTION lors de la reunion. Pour que tout mes interlocuteurs voient les numéros avec chaque services

Colone 1 : Liste des différents numéros (de 1 à 5 qui peuvent etre dans le desordre en fonction du secteur )

Colone 2 : liste des services correspondants au numéro de 1 à 5.

Colone 3 : liste des responsable des services.

Onglet 2

Colone 1 : liste des différents numéros (reprenant exactement les mêmes numéros que l’onglet 1)

Colone 2 : liste des services correspondants au numeros (exactement comme le meme onglet)

Colone 3 : les differents nom des personnes affectées a chaque responsable de services.

Onglet 3

Une grille de numero regroupant tout mes numeros en un bloc. Faisant un énorme carré.

Je cherche de ce faite à faire en temps réel :

Soit des que j’ecris le nom de la personne dans onglet 2 j’aimerais que le numéro de l’onglet 1 et 2 et 3 se colore.

Soit que des que j’ai inscrit le nom de la personne dans l’onglet 2, je colore qu’un numero au lieu de 3 sur les differents onglet. Que tout se fait automatiquement. Genre si je colore le numero 4 dans l’onglet 2, il se colore automatiquement dans l’onglet 1 et 3 egalement.

Je ne sais pas si c’est plus clair...

Bonjour, Salut Cindy !

Pour l’instant il met impossible de faire des imprimes ecrans.

Imprime-toi surtout dans le crâne que l'on travaille sur des fichiers et que les images ne seront d'aucune utilité !

Effectivement, comme dit MFerrand, il est possible de joindre un fichier Excel donc n'hésitez pas.

Vous voulez utiliser plusieurs couleurs ? A quoi correspondent ces couleurs?

Cindy

Imprime-toi surtout dans le crâne que l'on travaille sur des fichiers et que les images ne seront d'aucune utilité !

Je ne savais pas, désoler.

Je ne tenais pas vous déranger avec mes interrogations. Si c’etait le cas je vous pris de m’en excuser.

Je ne posterais plus de demande sur ce forum.

Cordialement.

Personnellement, votre demande me semble intéressante. J'aime bien me creuser la tête pour faire de nouvelles choses avec Excel, donc si ça peut vous aider, je reste dispo.

Il n'y a pas à ma connaissance de manière "facile" de faire ce que vous avez envie, avec le changement de couleur, il faudra passer par une macro VBA. C'est pour ça que je vous pose toutes ces questions.

Cindy

Bonjour CindyD

Je vous remercie de votre patience, je découvre depuis peu ce forum et Excel également.

Beaucoup de personne mon conseiller de venir ici pour échanger avec des personnes courtoise et passionné comme vous.

J’ai de ce fait pu avoir accès à un ordinateur pour vous illustré mon problème.

Dans ce fichier, vous pouvez voir 3 onglets :

- Onglet 1 « Affichage » : cet onglet va montrer pour chaque direction les différents services accompagnés des différents responsables en charge. Cet onglet va servir de présentation à tous pendant la réunion. Ça doit être un tableau SIMPLE avec maximum 2 ou 3 colonnes. Parce qu’il y a 800 services à mettre. Il permet d’observer en temps réel que tel et tel service est occupé. Chaque que je vais savoir au compte-goutte pendant la réunion.

- Onglet 2 « Classeur 1 » : Regroupe tous les services qui sont numéroté (ces numéros sont dans le désordre pour une raison prédéfinit et ne peut pas être changé. Il va être la base de mon travail, je vais devoir ajouter les noms 1 par 1 dans ce tableau au fil de la réunion .

- Onglet 3 « Classeur 2 » : Qui regroupe tous ces numéros sous la forme d’une grille (en sachant qu’il va y avoir 800 numéros pour 800 services environs). Ce tableau va me servir d’un double contrôle et de voir plus rapidement quel service n’est pas occupé à la suite de ma réunion avec mes collègues.

Ce que j’aimerai réaliser, c’est que lorsque je serais sur l’onglet n° 2, dès que j’écris le nom de la personne A ou B par exemple, le numéro se colore en vert ainsi que le service.

Et qu’automatiquement et en temps réel, ce même numéro vient se coloré sur l’onglet 3 et que le service de l’onglet 1 vient également se coloré en vert.

Bien sûr avec une reprise en cas d’erreur. Par exemple, quand je retire le nom de la personne A ou B, sa revienne blanc.

Cela va personne de faire suivre à mes interlocuteur en temps réel quelle services, ils peuvent encore prendre.

Je ne sais pas si cela est mieux pour vous.

En tout cas si vous avez la moindre difficulté à me comprendre hésité par à me le dire. J’essayerais de reformuler.

Bonjour,

En ouvrant VBA, vous pouvez coller ce code sur l'onglet Classeur 1 :

Sub Worksheet_Change(ByVal Target As Range) 'Macro qui se lance lorsque la valeur d'une cellule change dans l'onglet où se trouve la macro

Dim NumeroService As Integer
Dim Service As String
Dim Responsable As String
Dim CelluleAffichage As Range
Dim CelluleClasseur2 As Range

If Not Application.Intersect(Target, Range("D5:D305")) Is Nothing Then                              'Vérification que la cellule modifiée appartient bien à la plage D5:D305 pour éviter qu'elle se lance à toute modification de donnée dans la feuille

    NumeroService = Target.Offset(0, -2).Value                                                      'Déplacement de 2 cases vers la gauche pour récupérer le numéro de service
    Service = Target.Offset(0, -1).Value                                                            'Déplacement d'1 case vers la gauche pour récupérer le nom du service
    Responsable = Target.Value                                                                      'Récupération du nom du responsable dans la case qui vient d'être modifiée

    Range(Target.Offset(0, -2).Address, Target.Offset(0, -1).Address).Select                        'Sélection des 2 cases à gauche
    If Responsable <> "" Then
        Selection.Interior.Color = 5296274                                                              'Si un nom de responsable est noté, coloriage en vert de ces 2 cases
    Else
        Selection.Interior.Pattern = xlNone                                                             'Si aucun nom (donc suppression du nom), remise en blanc de ces 2 cases
    End If

    Sheets("AFFICHAGE").Select                                                                      'Sélection de l'onglet AFFICHAGE
    Set CelluleAffichage = Sheets("AFFICHAGE").Cells.Find(What:=Service, lookat:=xlWhole)           'Recherche de la cellule contenant le nom exacte du service
    Sheets("AFFICHAGE").Cells(CelluleAffichage.Row, CelluleAffichage.Column).Select                 'Sélection de la case trouvée
    If Responsable <> "" Then
        Selection.Interior.Color = 5296274                                                              'S'il y a un responsable, coloriage de la case en vert
    Else
        Selection.Interior.Pattern = xlNone                                                             'S'il n'y a pas de responsable, remise en blanc de la case
    End If
    Sheets("AFFICHAGE").Cells(CelluleAffichage.Row, CelluleAffichage.Column + 1).Value = Responsable 'Mise à jour du responsable du service dans la case correspondante

    Sheets("Classeur 2 ").Select                                                                    'Sélection de l'onglet Classeur 2
    Set CelluleClasseur2 = Sheets("Classeur 2 ").Cells.Find(What:=NumeroService, lookat:=xlWhole)   'Recherche de la cellule contenant le numéro exacte du service
    Sheets("Classeur 2 ").Cells(CelluleClasseur2.Row, CelluleClasseur2.Column).Select               'Sélection de la case trouvée
    If Responsable <> "" Then
        Selection.Interior.Color = 5296274                                                              'S'il y a un responsable, coloriage de la case en vert
    Else
        Selection.Interior.Pattern = xlNone                                                             'S'il n'y a pas de responsable, remise en blanc de la case
    End If

    Sheets("Classeur 1 ").Select                                                                    'Sélection de l'onglet Classeur 1
    If Responsable <> "" Then
        Target.Offset(1, 0).Select                                                                      'Si un responsable a été noté, on passe à la case suivante
    Else
        Target.Select                                                                                   'Si le responsable a été supprimé, on reste sur la case effacée
    End If

End If

End Sub

Au cas où, je vous remets votre fichier en lien. Lorsque vous modifierez une valeur dans la colonne des responsables de l'onglet Classeur 1 (zone bleue), le reste se mettra à jour en suivant ce que j'ai compris de votre demande.

Lorsque vous modifiez un responsable :

  • coloriage en vert sur l'onglet Classeur 1 du service ainsi que le numéro
  • coloriage en vert sur l'onglet AFFICHAGE du service
  • mise à jour du responsable du service sur l'onglet AFFICHAGE
  • coloriage en vert sur l'onglet Classeur 2 du numéro du service

Et tout ça, de façon qu'on puisse revenir en arrière.

Il vous faudra cependant bien faire attention aux noms de services, qu'ils soient orthographiés de la même façon dans les différents onglets. Attention, vous mettez souvent des espaces en fin de cellule, par exemple Service B, vous avez tendance à remplir "Service B " dans la cellule. Cela peut entraîner des erreurs si dans un onglet vous notez "Service B" et dans l'autre "Service B ".

Si cette réponse vous convient, n'oubliez pas de valider ce sujet en validant cette réponse.

Bonne journée,

Cindy

Bonjour, je n'ai jamais su si ma réponse vous avait convenu... Vu que j'y avais passé du temps, c'est toujours agréable de savoir si ça a servi à quelque chose ou pas.

Cindy

Rechercher des sujets similaires à "macro redaction saisie automatique"