Simplifier une manip

Bonjour,

Et tout d'abord, merci de me lire

Voila, mon logiciel de compta me permet de visualiser un état sous forme d'Excel. Je peux ainsi traiter les données.

Une des lignes se présente ainsi sur 12 mois donc 12 colonnes

104 h 106 h 87 h ...

J'ai 2 besoins par rapport à cette ligne.

  • La mettre en colonne sur une autre feuille
  • Faire disparaître le h

Alors j'ai un peu trouvé comment procéder en lisant des posts sur ce forum.

  • Collage spéciale / Transposé : hop une colonne
  • Avec "convertir".... : disparition du h

Je me demandais juste s'il n'y avait pas une solution plus simple pour enlever le h de la ligne. J'ai un peu peur que la manip soit un peu compliquée pour mes utilisateurs.

Merci


Je me permet d'ajouter des précisions:

J'aimerais enlever le h en premier car j'ai besoin de faire des calculs sur mes lignes ensuite le somme ou la différence est mise en colonne.

"convertir" ne permet pas de faire des manip sur la ligne

merci

Bonjour,

On peut faire : recueil de la ligne dans un tableau, suppression du "h", réaffectation tableau sur la ligne, affectation tableau transposé sur une autre feuille...

On peut traiter ainsi une seule ligne ou toutes...

Un modèle illustrant la disposition des données au départ et les emplacements cibles permettra de matérialiser...

Cordialement.

Merci pour votre réponse.

L'emplacement cible est fixe mais celui de base ne l'est pas. Chaque etat rapatrié aura potentiellement un emplacement différents, plusieurs lignes ou pas,....

La manip de copier/collage transposé est envisageable pour mes utilisateurs.

A la limite j'ai juste besoin d'enlever les h de ma base de chiffres. En ligne donc.

Je vais envoyé une matrice ( là je réponds à partir de mon smartphone)

Merci beaucoup


Dans des post je viens d'apprendre l'existence du "ctrl +H" je vais essayer et je vous dis si ça marche

Voilà l'avancement si un jour quelqu'un se pose la même question que moi:

J'ai crée un bouton avec la macro "supprime les h de la feuille" (comme je ne connais pas bien le vba, je fais un enregistrement de macro)

j'utilise ctrl + H pour remplacer mes h par rien. ça c'est plutot cool.

Ensuite, on fait nos calculs et nos opérations sur nos lignes.

On sélectionne la ligne et collage spéciale sur une autre feuille avec "valeur" et "transposé"

J'obtiens carrément ce que je voulais

Là j'essai de programmer mon collage spéciale histoire d'avoir un bouton mais ça bug. J'essai de voir si on ne peut pas "programmer" un collage spéciale ou ajouter un bouton personnalisé peut-être...(?) C'est la cerise sur le gateau

Suite...

J'essai de faire un bouton avec l'action "collage spéciale + valeur + transposé" voila ce que l'enregistrement me propose. Bon ça ne fonctionne pas bien

A noté que l'utilisateur aura sélectionné lui même la cellule ou l'action doit se passer. j'ai l'impression que c'est ça le problème

Sub Macro1()

'

' Collage special valeur et transposé

'

'

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

:=False, Transpose:=True

End Sub


Si ça marche!!!

Bon bah c'est résolu

Re,

A supposer qu'aucun critère ne permette sa détection et que l'on doive passer par la sélection par l'utilisateur de la première cellule du tableau à traiter, je t'aurais proposé quelque chose dans le genre [pour le fun] :

Sub Test()
    Dim Lng As Range, c As Range, Tbl, i%, k%
    'à lancer après sélection de la première cellule de la première ligne
    With ActiveCell
        i = .Worksheet.Cells(Rows.Count, .Column).End(xlUp).Row
        Set Lng = .Resize(i, 12)
    End With
    Tbl = Lng.Value
    For i = 1 To UBound(Tbl, 1)
        For k = 1 To 12
            Tbl(i, k) = Val(Tbl(i, k))
        Next k
    Next i
    Lng.Value = Tbl
    'ici on suppose que c est initialisée comme cellule supérieure gauche de
    ' la plage destinataire
    c.Resize(12, UBound(Tbl, 1)).Value = WorksheetFunction.Transpose(Tbl)
End Sub

Cordialement.

J'ai une bizarrerie dans ma macro qui enlève les h.

quand je l'applique mon 78.00 se transforme en 78000. C'est étrange car je l'ai enregistré.

En plus quand je fait ctrl+H sur une ligne ça fonctionne bien.

Mferrand, je vais essayer ta proposition mais c'est un peu compliqué pour moi.

Merci

7fichiertest.xls (20.00 Ko)

Tu n'avais pas indiqué de décimales dans ton premier post !

Le cas échéant ma ligne de conversion :

            Tbl(i, k) = Val(Tbl(i, k))

est à modifier en :

            Tbl(i, k) = Val(Replace(Tbl(i, k), ",", "."))

et une mise au format des cellules est à ajouter pour retrouver tes 3 décimales :

    Lng.NumberFormat = "0.000"

Je ne peux te dire ce qui se passe avec ton code, il est manquant.

Cordialement.

Super, les 2 possibilités fonctionnent.

Sur le mien il faut mettre remplacer par rien plutot que par 0

Merci

Rechercher des sujets similaires à "simplifier manip"