Changer la valeur d'une cellule en chiffre avec une macro

Résolu/Fermé
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016 - Modifié par jipicy le 4/08/2016 à 15:57
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016 - 17 août 2016 à 15:54
Bonjour svp les amis j'ai une colonne ou j'ai des formule qui cherche une donné d'une autre feuille et ce que je voudrais svp c'est pouvoir sélectionner cette cellule et changer sa valeur en chiffre standard

j'ai fais cette macro mais le problème que je sais pas comment intégré la condition que je veux changer que la cellule que j'ai sélectionné
Dim Cellule As Range

'Parcourir les cellules de la plage utilisée
For Each Cellule In ActiveSheet.UsedRange
'Traiter uniquement les cellules possédant une formule
If Cellule.HasFormula Then
Cellule.Formula = Cellule.Value
End If
Next Cellule




MERCI
A voir également:

4 réponses

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
Modifié par pijaku le 10/08/2016 à 08:19
Bonjour,

essaie ca :

Dim Cellule As Range

'Parcourir les cellules de la plage utilisée
For Each Cellule In ActiveSheet.UsedRange
'Traiter uniquement les cellules possédant une formule
If Cellule.HasFormula Then
Cellule.copy
cellule.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End If
Next Cellule
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
10 août 2016 à 09:36
merci beaucoup melanie
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
10 août 2016 à 09:57
Mélanie j'ai essayer la macro et ça marche bien sauf que il me change tous les formule de la colonne en valeur standard

En faite je vais t'expliquer ce que je voudrais faire exactement s'il te plait

actuellement je suis en cours de réalisation d'un outil de simulation ou j'ai :

une feuille "Accueil" dans laquelle je veux entrés le une donnée dans la cellule D8 et une donnée dans la cellule D15 c'est donner je veux que je puisse cliquer sur un bouton et que la donnée que j'ai dans D8 sera coller dans la colonne C de la feuille "Commentaire" et la Donnée de D15 sera collé dans la colonne B de la feuille "Commentaire " une fois que j'ai fais ça ; j’exécute la macro de simulation qui agit sur la feuille "Usine" pour que la fin de la simulation , je vais avoir une donnée dans la cellule O4 de la feuille "Usine" et cette donnée je voudrai la coller sur la même ligne ou j'ai coller les premiére Données sur la feuille " Commentaire "

a chaque enregistrement du fichier je veux que les données qui sont saisie dans les cellules de la feuille "Commentaire " reste et que si j'ai rentrés des nouvelles données et jai lancer une autre simulation ; les nouvelles informations seront enregistré dans la ligne suivante dans la feuille "commentaire"

je vais te mettre stp le fichier en pièce jointe pour comprendre ce que je suis entrain de dire

https://www.cjoint.com/c/FHkh2yLEgFh

merci

cordialement
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
10 août 2016 à 10:16
Bonjour,

Là c'est plus clair.

Et j'ai 2 solutions à te proposer

Solution 1 : étape 1 copie des cellules, 2°°) appel de la macro, 3°) Copie de la feuille usine


Sub copiecoller()
'définition d'une variable
i = 2
'boucle qui va rechercher la première ligne disponible
Do While Sheets("Commentaires").Cells(i, 2) <> ""
i = i + 1
Loop

'les 2 lignes qui vont copier tes cellules
Sheets("Accueil").Cells(8, 4).Copy Sheets("Commentaires").Cells(i, 3)
Sheets("Accueil").Cells(15, 4).Copy Sheets("Commentaires").Cells(i, 2)

'lancement de la macro nommée simulation
call simulation 'tu remplaces simulation par le nom de ta macro

sheets("Usine").cells(4,15).copy Sheets("Commentaires").Cells(i, 4)

End Sub






<gras>Solution 2 : étape 1 copie des cellules

Sub copiecoller()
'définition d'une variable
i = 2
'boucle qui va rechercher la première ligne disponible
Do While Sheets("Commentaires").Cells(i, 2) <> ""
i = i + 1
Loop

'les 2 lignes qui vont copier tes cellules
Sheets("Accueil").Cells(8, 4).Copy Sheets("Commentaires").Cells(i, 3)
Sheets("Accueil").Cells(15, 4).Copy Sheets("Commentaires").Cells(i, 2)

End Sub


là manuellement tu lances la macro simulation
et tu ajoutes à la fin de la macro simulation :


i = 2
'boucle qui va rechercher la première ligne disponible
Do While Sheets("Commentaires").Cells(i, 2) <> ""
i = i + 1
Loop


sheets("Usine").cells(4,15).copy Sheets("Commentaires").Cells(i-1, 4)
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
Modifié par Barahaoua le 10/08/2016 à 10:25
merci Melanie je vais essayer ca maintenant merci beaucoup pour cette réponse rapide et efficace
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
10 août 2016 à 10:30



Mélanie j'ai essayer le premier mais malheureusement il me récupère pas la valeur de O4 de la feuille" usine"
regarde ce qu'il me fait

merci
je vais assayer maintenant les autres solutions
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
10 août 2016 à 10:34
Re,

je regarde
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
Modifié par melanie1324 le 10/08/2016 à 10:43
J'ai trouvé le problème et je l'ai corrigé :
https://www.cjoint.com/c/FHkiQU5ShHi

La macro se trouve dans module 1 et se nomme copier coller
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
10 août 2016 à 10:37
Mélanie avec la deuxiéme solution aussi j'ai le même soucie sa m'affiche pas la valeur il m'affiche ça : #REF!
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
Modifié par melanie1324 le 10/08/2016 à 10:42
As-tu essayé le fichier que je t'ai donné ?
https://www.cjoint.com/c/FHkiQU5ShHi
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
10 août 2016 à 10:43
ce fichier : https://www.cjoint.com/c/FHkiQU5ShHi

car il faut modifier le code comme ca :

i = 2
'boucle qui va rechercher la première ligne disponible
Do While Sheets("Commentaires").Cells(i, 2) <> ""
i = i + 1
Loop
Sheets("Commentaires").Cells(i-1, 4) = sheets("Usine").cells(4,15).value
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
10 août 2016 à 11:05
Parce que tu n'as pas pris la dernière version et que tu n'as pas fait la modification indiquée.
Essaie avec ce fichier stp :
https://www.cjoint.com/c/FHkjeBqUSPi
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
11 août 2016 à 09:16
Merci Mélanie ça marche très bien

merci beaucoup pour ton aide et t'est réponses

je te souhaite bon courage

cordialement
0
Barahaoua Messages postés 88 Date d'inscription jeudi 19 mai 2016 Statut Membre Dernière intervention 17 août 2016
Modifié par Barahaoua le 17/08/2016 à 16:31
c 'est bon merci Mélanie j'ai réussie a le faire
0