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

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:

angelspeed

XLDnaute Junior
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
 

pierrejean

XLDnaute Barbatruc
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
 

angelspeed

XLDnaute Junior
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

  • Formule-valeur.xlsm
    18 KB · Affichages: 107
  • Formule-valeur.xlsm
    18 KB · Affichages: 108
  • Formule-valeur.xlsm
    18 KB · Affichages: 123
Dernière édition:

pierrejean

XLDnaute Barbatruc
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

  • Formule-valeur.xlsm
    19.9 KB · Affichages: 131
  • Formule-valeur.xlsm
    19.9 KB · Affichages: 138
  • Formule-valeur.xlsm
    19.9 KB · Affichages: 144
Dernière édition:

angelspeed

XLDnaute Junior
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.
 

tbft

XLDnaute Accro
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
 

Discussions similaires

Réponses
3
Affichages
323

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote