Trier, convertir, macro

Bonjour!

J'ai encore un problème: j'ai un fichier dans lequel, dans une cellule, j'ai une formule qui calcule la somme de certaines autres cellules. Mon problème est que je voudrais pouvoir trier les cellules contenants ces formules, mais çà ne fonctionne pas. J'ai fait une recherche sur le net, j'ai trouvé une macro qui convertit les formules en données, lesquelles je pourrais ensuite trier, mais le problème est que cette macro fait effet sur chaque feuille de mon fichier.

Ma question est donc:

- y a-t-il un autre moyen qu'une macro soit pour trier ma liste, soit pour convertir mes formules en données que je pourrai trier par la suite, et,

- est-il possible d'exécuter une macro sur une seule feuille d'un fichier Excel ou sur certaines plages de cellules seulement??

Je commence à perdre vraiment patience avec ce fichier!!!

Merci à l'avance

Maryruss

Pourrais-tu mettre le code de macro que tu as sur le forum pour analyser la chose ... ?

Je propose de dire en début de macro qu'il exécute la macro sur la feuille nommée XXX, soit un truc du genre :

Sheets("XXX").Select 

Bonjour,

Voici la macro que j'ai trouvé:

Sub Formules_Valeurs()

Application.ScreenUpdating = False

Dim Feuil_Val As Worksheet

For Each Feuil_Val In ActiveWorkbook.Worksheets

Feuil_Val.Select

Cells.Copy

Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

Range("A1").Select

Next Feuil_Val

ActiveWorkbook.Sheets(1).Select

End Sub

L'idéal serait qu'elle ne convertisse que certaines cellules, car dans certaines autres cellules, j'ai aussi des formules mais je ne veux pas que ces formules-là soit convertit... c'est un peu compliqué mais j'espère tout de même que vous comprendrez!!!

Merci encore

Maryruss

Bonsoir,

Ta macro copie les cellules des feuilles de ton classeur et les colle au même endroit en enlevant les formules

En fonction de ta demande ce serait mieux que tu places un fichier avec un mot d'explication.

A te lire

dan

Salut maryruss et le forum

Pas glop, pas glop ta macro

Sub Formules_Valeurs()

Dim Feuil_Val As Worksheet

Application.ScreenUpdating = False

'blocage rafraîchissement écran

Sub Formules_Valeurs()

Dim Feuil_Val As Worksheet

Application.ScreenUpdating = False

'blocage rafraîchissement écran

For Each Feuil_Val In ActiveWorkbook.Worksheets

'Pour chaque feuille dans le classeur actif

Feuil_Val.Select

'sélectionner la feuille

Cells.Copy

'copier toutes les cellules

Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

'coller les valeurs sur toutes les cellules

Application.CutCopyMode = False

'arrêter le mode copie

Range("A1").Select

'sélectionner la cellule A1

Next Feuil_Val

'feuille suivante

ActiveWorkbook.Sheets(1).Select

'sélectionner la première feuille

End Sub

Ne JAMAIS faire une macro dont on n'a pas l'explication : Toutes les instructions comportant "Application." ont un domaine de travail qui concerne Excel. Ce qui fait que tu modifies le fonctionnement d'Excel, même si tu fermes ton classeur.

Donc, quand tu mets une fonction d'Excel à False, tu dois vérifier que tu la remets à True en quittant la macro.

Tu devrais avoir une instruction Application.ScreenUpdating = True

Ta macro, écrase toutes les formules de toutes les feuilles de ton classeur.

Si j'ai bien compris, tu veux pouvoir trier des cellules contenant ou non des formules.

Pour t'aider, au lieu de parler dans le vague, si tu étais précis, on pourrait te créer une macro qui ferait ce que tu attends.

pour un problème de ce style, personnellement, je fais une copie des valeurs que je trie.

La copie peut être au même endroit que la source (j'écrase toutes les formules par les valeurs), soit ailleurs sur la feuille (en général, quelques colonnes plus loin à droite).

Mais dans tous les cas, si on n'a pas une idée de l'adresse de la source et de la destination, c'est le KK et on ne peut pas constriuire la macro

Le même style de macro, mais limitée à une plage (A1:B12) d'une feuille (F1)

Sub Test()
Application.ScreenUpdating = False
'Blocage gestion écran
Sheets("F1").Range("A1:B12").Copy
'Copie de la plage A1:B12 de la feuille F1
Sheets("F1").Range("A1").PasteSpecial Paste:=xlPasteValues
'Coller les valeurs à partir de A1 de F1
Application.CutCopyMode = False
'Arrêter le mode copie
Application.ScreenUpdating = True
'Relancer le rafraîchissement écran
End Sub

Si tu veux que ta macro trie ton résultat, il faut que tu actives ta feuille et que tu fasses le tri (pour avoir le code, une macro apprentissage t'aidera : Menu outils>>Macro>>Nouvelle macro => tu fais ton tri, tu arrêtes la macro et tu vas voir le code)

A+

Bonjour Nad-Dan et Gorfael,

Premièrement, pour toi Nad-Dan, je joins un fichier qui représente une minime partie de mon fichier d'origine.

https://www.excel-pratique.com/~files/doc/statsfeuillcalcul.xls

Tu pourras y voir une note expliquant (du mieux que je peux), ce que je désire.

Deuxièmement, Gorfael, comme je suis assez nulle côté macro, je t'avouerai que je n'ai pas saisi grand chose de ce que tu m'as écrit, mais je crois que la note que j'ai joint dans mon fichier rejoint ce que tu disais, c'est à dire

"pour un problème de ce style, personnellement, je fais une copie des valeurs que je trie.

La copie peut être au même endroit que la source (j'écrase toutes les formules par les valeurs), soit ailleurs sur la feuille (en général, quelques colonnes plus loin à droite)."

Dans tous les cas, je suis certaine qu'avec le fichier joint, vous serez plus en mesure de me dire exactement comment je devrais procéder pour essayer de me décompliquer la vie un peu!!!

Merci énormément de votre aide.

Maryruss

Rebonjour!!

J'ai oubié que j'avais aussi une deuxième question. Voir le fichier joint :

https://www.excel-pratique.com/~files/doc/be5zLpointequipes.xls

Vous y trouverez aussi une note explicative.

Merci encore!!

Maryruss

Bonsoir,

Je n'ai surement pas compris !

mais tout simplement en selectionnat la zone k4:o15

puis données trier on choisis la colonne O par exemple en mode croissant,

sans les entètes dans ce cas , qu'il y ait formule ou pas Excel sait trier formule ou pas formule ?

ou est le problème ?

Cordialement

Alain

Bonsoir Alain,

Non je ne peux pas simplement trier car si tu regarde ma formule en H20, elle est reliée à certaines cellules et si je fais trier mes résultats, le total alors obtenu dans H20 devient érroné. C'est pourquoi je désire faire convertir toutes mes données avant de les trier, ainsi, je crois, j'espère, mes résultats seront les bons.

Merci quand même de ton message!!

Maryruss

Bonjour à tous!!

Et puis, quelque'un a trouver une solution à mon problème???

Merci!

Maryruss

Re,

Tu as posté deux fichiers là.

C'est lequel que l'on doit prendre pour ta macro.

D'autre part dans le fichier stats, il y a des colonnes cachées. doivent-elle le rester ou non ?

Pourquoi ne fais tu pas une feuille par mois. Cela me semblerait plus simple et éviterait de répéter le mois dans différentes lignes voire d'étaler toutes les données autrement.

A te lire

Dan

Bonjour Dan,

Le fichier pour la macro est "feuillestats" et pour ce qui est de ta question (pourquoi ne pas mettre une feuille par mois), c'est que vois-tu j'ai déjà une quinzaine de feuilles différentes, je ne veux pas rajouter une feuille pour chaque mois en plus. Bref, les stats doivent toutes apparaître sur la même feuille.

Voilà, en espérant obtenir une solution bientôt, car je désespère sincèrement!!!

Maryruss[/img]

Salut le forum

Déjà 15 feuilles dans le fichiers, avec liaisons vers un autre classeur....

A mon avis, belle usine à gaz en vue...(Bonne chance Dan si tu te lances sur le fichier)

Tu auras surement à revoir la mise en page de ses fichiers, et elle ne veut pas...

Mytå

P.S. La-bas pas mieux qu'ici comme tu peux voir Maryruss

Bonsoir Myta,

Ouais je sais que j'ai déjà beaucoup de page, mais je ne peux faire autrement. Et malheureusement, ton commentaire ne m'aide pas beaucoup. Je voulais simplement savoir s'il était possible de faire ce que je demande (macro pour ocnvertir avant de trier).

Mais merci pour tes commentaires.

Maryruss

Re le forum

Déjà une feuille avant et une feuille après, qui nous montre vraiment le classement

désiré, car la avec des zéro presque partout dur de comprendre tes vrais besoins.

Et sur quelles lignes et colonnes trier...

A te relire

Mytå

Bonjour à tous,

Bon, Myta, pour te répondre, voilà ce que je désire:

- est-il possible d'utiliser une macro afin de convertir certaines plages de données dans certaines feuilles de mon fichier seulement (je ne veux pas que toutes les données de la page soient converties). Et est-ce que les colonnes masquées et les cellules fusionnées ont un effet sur une macro?

Pour ce qui est du tri, je m'organiserai avec çà après la conversion, pour l'instant, tout ce que je veux, c'est de pouvoir convertir mes données (formules, liens, etc) en nombre.

J'espère que c'est parfaitement clair maintenant, sinon, je ne sais plus comment l'expliquer.

Maryruss

Bonsoir le forum,

Finalement, j'ai trouvé comment faire ma macro, et tout fonctionne maintenant.

Merci encore pour votre aide, vous pouvez arrêter de plancher et allez vous reposer maintenant!!!!

Un énorme merci encore!!!

Maryruss

Rechercher des sujets similaires à "trier convertir macro"