2 questions (Mise en forme de cellule & conserver des données)

Frankc

XLDnaute Nouveau
Bonjour à tous!

Je suis nouveau sur ce site/forum. Celui-ci me semble très intéressant car beaucoup de personnes semblent y participer. J'ai des connaissances intermédiaire en Excel et je souhaite augmenter mon niveau de connaissance sur cette merveilleuse application.

Ainsi, j'ai commencé à travailler sur un document pour un ami et j'ai quelques questions auquel j'ai besoin de réponse pour savoir si ce qu'il souhaite faire est possible. Donc si vous le permettez je vais vous poser mes questions, auxquels j'espère que l'on aura réponse car jusqu'à maintenant mes recherches sont infructueuses.

Voici donc ma première question;
Contexte : Dans ma cellule A2 je recherche, à l'aide de la fonction "recherchev", ce qui est écrit dans la cellule A1 afin que excel retourne, dans la cellule A2, le résultat trouvé dans une colonne spécifique situé dans une feuille différente. Mais voilà, j'aimerais savoir s'il serait possible qu'en plus de retourner la valeur, je puisse conserver la mise en forme de la cellule où la valeur à été retrouvé et ainsi avoir la même mise en forme ma cellule A2 ?

Ma deuxième question, j'ai trouvé quelques informations sur le net mais rien qui s'applique à mon cas... J'aimerais savoir s'il est possible qu'à chaque fois qu'une entrée est modifié dans une cellule, l'entrée précédente est automatiquement copié dans une autre feuille. Je souhaite ainsi avoir un "log" des données entrés sur des cellule spécifiques afin de pouvoir par la suite créer des indicateurs de performances. Si c'est plus facile, cela pourrait aussi être de trouver une façon de recopier le contenu à un autre endroit à chaque fois qu'une nouvelle entrée est effectué sur une cellule spécifique.

Merci pour votre aide, en espérant que mes explications soient suffisamment claires.
 

James007

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour ... et Bienvenue sur le Forum,

En un mot comme en cent, la réponse est Oui ... dans les deux cas ...

Par contre, pour une réponse totalement adaptée à ton cas, le plu simple est que tu joignes ton fichier ou un extrait significatif ...

A +
 

job75

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour Frankc, salut James,

Pour la 1ère question, voir le fichier joint qui donne une solution très classique.

La macro dans le code de Feuil1 (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [A2:A65536])
If Target Is Nothing Then Exit Sub
Dim ref As Range
For Each Target In Target
  Set ref = [Choix].Find(Target, LookIn:=xlValues, LookAt:=xlWhole)
  If ref Is Nothing Then
    Target.Offset(, 1).Clear
  Else
    ref.Offset(, 1).Copy Target.Offset(, 1)
  End If
Next
End Sub

Voir la définition du nom Choix (menu Insertion-Nom).

A+
 

Pièces jointes

  • Choix(1).xls
    36 KB · Affichages: 113
Dernière édition:

Frankc

XLDnaute Nouveau
Re : 2 questions (Mise en forme de cellule & conserver des données)

Job75,

Merci pour l'exemple. Par contre, je suis un peu perdu et j'ai tenté de recréer un document qui représente plus mon besoin. J'ai insérer le code dans VB comme tu l'as indiqué. Voici un exemple de ce que je souhaite voir, tu risques de voir pourquoi ça ne fonctionne pas, alors que moi je ne comprend pas :p

Merci à l'avance de ton aide ;)

Regarde la pièce jointe exemplefichier.xlsm

James007,

Je vais monter un exemple et te revenir là dessus. Je dois réviser et vérifier ce que je souhaite faire exactement.
 

job75

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Re,

Merci pour le fichier.

Je ne me suis pas cassé la tête, j'ai défini le nom Choix par =Feuil2!$A:$A

Revalidez la valeur de la cellule Feuil1!A1 et voyez...

Et entrez d'autres valeurs en colonne A.

A+
 

Pièces jointes

  • exemplefichier(1).xls
    30 KB · Affichages: 80
  • exemplefichier(1).xls
    30 KB · Affichages: 80
  • exemplefichier(1).xls
    30 KB · Affichages: 85

James007

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour Frankc, salut Job75 :)

Avant d'aller plus loin, et de coder des actions, peux-tu nous expliquer ce que tu veux vraiment faire ... dans chacune de tes feuilles ...? avec un exemple ...

A +
:)
 

Frankc

XLDnaute Nouveau
Re : 2 questions (Mise en forme de cellule & conserver des données)

Re,

Merci pour le fichier.

Je ne me suis pas cassé la tête, j'ai défini le nom Choix par =Feuil2!$A:$A

Revalidez la valeur de la cellule Feuil1!A1 et voyez...

Et entrez d'autres valeurs en colonne A.

A+

Ok, j'ai fouillé le document, je comprends la partie concernant le fait de définir le nom Choix, ce que je me pose maintenant comme question c'est que je ne vois aucune
formule pour la Feuil1!B1

Comment est-ce que cette cellule vas chercher la valeur correspondante comme tu le fais ? Comme tu peux voir, personnellement dans Feuil1!C1 j'utilise la fonction =recherchev afin que ma cellule renvoi la donné demandé en Feuil1!A1.

Comme c'est là, dans ton document je vois seulement le résultat mais pas la formule ayant amené à l'obtention du résultat.

J'apprécierais quelques éclaircissement à ce sujet :)

Merci
 

Frankc

XLDnaute Nouveau
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour Frankc, salut Job75 :)

Avant d'aller plus loin, et de coder des actions, peux-tu nous expliquer ce que tu veux vraiment faire ... dans chacune de tes feuilles ...? avec un exemple ...

A +
:)

Bonjour James,

Je vais définir exactement ce que je souhaiterais pouvoir faire, d'ici 1-2 jours. Vous me direz si c'est possible, ou si peut-être excel n'est pas l'application appropriée pour effectuer le tout.

Merci :)
 

job75

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour Franck, le fil, le forum,

Comment est-ce que cette cellule vas chercher la valeur correspondante comme tu le fais ?(...)
Comme c'est là, dans ton document je vois seulement le résultat mais pas la formule ayant amené à l'obtention du résultat.

C'est la macro qui va chercher le résultat en utilisant la méthode Find.

La cellule trouvée est copiée/collée par Copy : la formule en Feuil1!B1 est donc écrasée.

Bien comprendre qu'une formule ne peut jamais copier le format d'une cellule : il faut une macro pour ça.

A+
 

JNP

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour le fil :),
Pour la question 2, un début de réponse en PJ.
Dans un module, une déclaration publique qui va servir à stocker la valeur de la cellule A1 de la feuille 1
Code:
Public MonContenu As String
Dans ThisWorkbook, le chargement de la valeur à l'ouverture du fichier
Code:
Private Sub Workbook_Open()
MonContenu = Feuil1.Cells(1, 1)
End Sub
et dans le code de la feuille 1, la surveillance de la cellule A1 et l'écriture du log dans la feuille 2 à chaque modification avec la date et l'heure
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
With Feuil2
    .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) = MonContenu
    .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 2) = Now()
    MonContenu = Target.Text
End With
End If
End Sub
A noter que j'ai utilisé les noms en dur Feuil1 et Feuil2 et non Sheets("Feuil1") et Sheets("Feuil2") pour pouvoir changer les noms d'onglets sans influencer sur le suivi des modifications.
Bon dimanche :cool:
 

Pièces jointes

  • Logs.xls
    46 KB · Affichages: 73

Frankc

XLDnaute Nouveau
Re : 2 questions (Mise en forme de cellule & conserver des données)

Bonjour Franck, le fil, le forum,



C'est la macro qui va chercher le résultat en utilisant la méthode Find.

La cellule trouvée est copiée/collée par Copy : la formule en Feuil1!B1 est donc écrasée.

Bien comprendre qu'une formule ne peut jamais copier le format d'une cellule : il faut une macro pour ça.

A+

Jusqu'ici je comprends. Ce que je comprends moins, j'ai pris le document original que j'avais transmis via le forum (exemplefichier.xls), j'ai été définir le nom Choix par =Feuil2!$A:$A à mon tour. Ce qui fait que lorsque je vais dans le gestionnaire des noms, je vois la même chose que dans le document modifié que tu as fait. J'ai aussi insérer le code VB dans mon document. J'ai effacé ma formule (=recherchev) dans Feuil1!B1 et si je modifie ma formule en Feuil1!A1 rien ne se passe en Feuil1!B1.

Je retransmet mon fichier. Regarde la pièce jointe exemplefichier.xls

Tu verras ainsi où je suis bloqué et qu'est-ce que je ne comprend pas.

Merci beaucoup du temps que tu prends à m'aider! C'est grandement apprécié! :)
 

Pièces jointes

  • exemplefichier.xls
    33.5 KB · Affichages: 81
  • exemplefichier.xls
    33.5 KB · Affichages: 79

Frankc

XLDnaute Nouveau
Re : 2 questions (Mise en forme de cellule & conserver des données)

JNP,

Génial ça! Disons que c'est vraiment mieux que l'outil de suivi des modifications d'excel lol. Merci je vais aller faire des tests avec ça! Comme je disais à James, je vais mieux définir mon besoin et vous serez alors en mesure de me dire si le tout est possible où non! :)

Vous êtes des génies les mecs! :)
 

job75

XLDnaute Barbatruc
Re : 2 questions (Mise en forme de cellule & conserver des données)

Re Frankc, salut Jean-Noël,

(...) et si je modifie ma formule en Feuil1!A1 rien ne se passe en Feuil1!B1.

Il faut que Feuil1!A1 soit dans la plage autorisée.

Donc en 2ème ligne de la macro remplacer [A2:A65536] par [A1:A65536], ou par Columns("A") si l'on préfère.

Dans peu de temps ce genre de chose sera évident pour vous.

A+
 

Discussions similaires