macro de bloquage après Validation Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
c
cmoa83
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 30 avril 2017
Version d'Excel : MAC2011

Message par cmoa83 » 30 avril 2017, 21:56

Bonjour,
Je cherche depuis plusieurs jours une réponse que je ne trouve pas
Voici mon problème
feuille comptable pour l'achat d'aliment bio
Je voudrais empêcher la modification d' une cellule après validation
Mais pour compliquer la chose celle ci est lier à une donnée qui peut changer de valeur
Je m'explique: Feuille 1 "mois en cours" cellule D10 lier à la feuille 13(nommer :Désignation) colonne C "Mercurial"
donc mercuriale =prix d'achat du produit qui est variable
Lorsque modifie la Mercurial ,toute les données déjà enregistrée se modifient

je souhaiterai le faire en via
si une personne peut m'aider à créer la macro
Merci
bio 2c.xlsm
(328.39 Kio) Téléchargé 9 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 mai 2017, 00:31

Bonsoir,

Faut mieux observer ton fichier pour éviter de substituer col. D à col. E et Feuil13 à Feuil12. :D

Tu règlerais facilement ton problème immédiat en écrasant les formules pour ne laisser que les valeurs, mensuellement ou lors de changement de tarifs.

La mise en place d'un système de saisie pourrait être intéressante, mais je pense que ce serait plus efficace sous forme de base de données unique. A partir de là tu pourrais réaliser toutes les extractions, mensuelles ou autres que tu peux souhaiter.

Cordialement.
c
cmoa83
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 30 avril 2017
Version d'Excel : MAC2011

Message par cmoa83 » 1 mai 2017, 11:00

bonjour,
Je te remercie de ta réponse rapide, mais je suis un jeune d'en l'informatique et un débutant dans excel et donc si tu peux m'expliquer ce que tu as écris

Ce que je comprends c'est qu'il faut que je retire la formule de la Colonne D, mais ensuite c'est là que je coince ::~
Mais l'idée de Valeur me plait mais je fais comment? :shock:
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 mai 2017, 11:38

Bonjour,

Manuellement, pour écraser des formules, tu copies la plage et tu la colle sur elle-même en valeurs uniquement, cela fait disparaître les formules.
Si on fait en VBA, on fera plus court :
....
    .Range(xxxx).Value = .Range(xxxx).Value
...
Maintenant, pour faire évoluer ta configuration, ce que je considère comme le plus efficace :
- une seule base de données (ou tu saisis les données brutes), sans mise en forme, ce sera ta source
- éventuellement mettre en place un Formulaire de saisie, qui la facilitera et fera les calculs (évitant toute formule)
- une feuille mise en forme pour l'extraction mensuelle, avec une procédure d'extraction VBA qui te permettra d'extraire n'importe quel mois (et tu n'as pas à t'encombrer d'une feuille par mois)
-(solution alternative ou complémentaire : des TCD à partir de la base...)
- et tu peux éventuellement envisager d'autres extractions que l'on pourra réaliser de la même façon...

Cordialement.
c
cmoa83
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 30 avril 2017
Version d'Excel : MAC2011

Message par cmoa83 » 1 mai 2017, 13:35

Je fais des testes mais je n'évolue pas,
Peux tu me dire comment je modifie la formule =SI(B10="";"";RECHERCHEV(B10;Designation!A:C;3;0)) pour mettre la valeur réel
ou comment écrire la macro
Merci :(
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 mai 2017, 13:37

Je l'ai écrit au-dessus ! On ne modifie pas la formule, on l'écrase pour la remplacer par la valeur renvoyée.
c
cmoa83
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 30 avril 2017
Version d'Excel : MAC2011

Message par cmoa83 » 1 mai 2017, 14:12

Si je comprends bien , j'écrase toute les formules. Ensuite je vais dans VBA et je colle la formule dedans ce qui me fera le même boulot
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 mai 2017, 14:19

Evite d'extrapoler, et ne comprends que ce qui est écrit.

Tu écrases les formules manuellement. Et une fois que c'est fait, c'est fait !

Tu les écrases en utilisant une macro.
Par exemple :
Sub Ecraser()
    Selection.Value = Selection.Value
End Sub
Là tu sélectionnes une plage où tu veux écraser les formules, tu lances la macro, et elle fait.
Tu peux affecter un raccourci clavier à la macro pour la lancer plus facilement.
Et pareil, une fois écrasé, c'est écrasé !
c
cmoa83
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 30 avril 2017
Version d'Excel : MAC2011

Message par cmoa83 » 1 mai 2017, 15:07

Bon une fois que j'ai tout écraser, je procède comment
pour mon tableau
Je suis désolé mais je me noie
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 1 mai 2017, 15:22

Tu n'écrases que ce qui est à écraser !
Une fois écrasé, c'est fini, les valeurs ne bougeront plus.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message