[Résolu] VB - Transformer formule en valeur dans cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

angelspeed

XLDnaute Junior
Bonjour,

je fais encore appel à votre aide pour un truc tout bête que j'arrive pas à faire.

Pour résumer, j'ai une feuille de commande et quand je la valide ça me verrouille les cellules automatiquement.

Pour simplifier la saisie maintenant, je souhaiterais mettre une formule dans la colonne "prix" afin qu'il soit affiché automatiquement en saisissant un produit - un RECHERCHEV tout simplement en formule.

La seule chose c'est qu'il faut qu'en validant, la formule soit "transformée" en sa valeur, puisque le prix peut varier.

Je vous mets le début de code du verrouillage, je pense pas qu'il y'est besoin de mettre un fichier :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A:Q")) Is Nothing Then
ActiveSheet.Unprotect
ligne = Target.Row

If Cells(ligne, 17).Value = "OK" Then
   Cells(ligne, 8)       <--- celle-ci à transformer en valeur
    Range(Cells(ligne, 1), Cells(ligne, 15)).Locked = True
    Cells(ligne, 16).Locked = False
....

J'avais trouvé

Cells(ligne, 8).Formula = Cells(ligne, 8).Value

mais ça ne marche pas du tout, ça fait planter VB 🙁 Merci de votre aide
 
Dernière édition:
Re : VB - Transformer formule en valeur dans cellule

Bonjour pierrejean,

merci mais ça me fait la même chose, excel plante, il calcule je ne sais pas quoi : "Erreur d'exécution 28 - Espace pile insuffisant" et en débugant ce code est en jaune :

Code:
If Not Application.Intersect(Target, Range("A:Q")) Is Nothing Then

L'étrange continue...

Je suis sous excel 2010 pour info, j'avais oublié de le mettre dans l'en-tête
 
Re : VB - Transformer formule en valeur dans cellule

Re

Le problème est donc situé ailleurs que dans la simple transformation d'une formule en son resultat
Sans en savoir plus (par un fichier exemple notamment) je crains fort que l'on ne puisse aller plus loin
 
Re : VB - Transformer formule en valeur dans cellule

J'ai fait un petit fichier en exemple avec le code en majorité - la pour l'étrange, j'ai pas la même erreur mais ça marche toujours pas...

Enfin ça marche en partie : ça convertit bien la formule en valeur, ça plante, et ça verrouille pas les cellules en fait.

Merci de votre aide
 

Pièces jointes

Dernière édition:
Re : VB - Transformer formule en valeur dans cellule

Re

Eternel probleme de la macro qui se mord la queue
Ta macro effectue un changement qui enclenche la macro qui effectue un changement qui enclenche ......
Une solution dans le fichier joint
La variable public flag interdit le nouveau declenchement de la macro lorsqu'elle produit un changement
NB: En cas d'erreur en cours de macro, utiliser la macro recup du module 1 (elle reinitialise flag a false)
 

Pièces jointes

Dernière édition:
Re : [Résolu] VB - Transformer formule en valeur dans cellule

Bonsoir pierrejean,

je reviens vers vous pour un petit problème connexe vu que vous avez vu le script : j'ai mis mes valeurs dans un tableau pour faciliter le tri.

Pb : avec le code VB qui verrouille les cellules, le verrouillage par défaut n'autorise pas le tri. Si je déverrouille et reverrouille manuellement la pas de problème en le cochant dans les options... mais c'est remis par défaut à chaque fonctionnement du script.

Il ya un moyen en VB de spécifier les autorisations ? (tri et utiliser le filtre automatique)

Merci.
 
Re : [Résolu] VB - Transformer formule en valeur dans cellule

Bonsoir

J'ai eu le même soucis.
Il me semble que la ligne suivante avez résolue le problème...
Worksheets("Configuration").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

En espérant de ne pas répondre une connerie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Retour