Fonction Si Insertion de ligne

Bonjour, je suis bloqué, j'éspère découvrir grace à vous la bonne formule que je recherche depuis longtemps.

Le but de ma formule est d’insérer une ligne tout les 4 chiffres de la cellule voici un exemple : Cellule de base "285435421"

Ce que je veux : 2854

3542

1

Je me suis dit que la formule pourrais commencer par Si(Cellule>9999;....) C'est la suite qu'il me faut, à savoir inserer une ligne et mettre la suite des chiffres dans la cellule qui suit en dessous.

En attendant, je vous remercie.

Bonne journée

Trop compliqué ? Personne a une idée ?

Bonjour dettox

Désolé ce n'est pas

dettox a écrit :

Trop compliqué

c'est impossible

En tout cas, tel que tu le demandes. Une formule ne peut pas (par définition) faire une action elle donne un résultat

Par contre, une procédure (sous entendu en utilisant de la programmation - qui par définition réalise une -au moins- action) cela est tout à fait envisageable !

Comme ça

Sub Decomposer()
Dim ligDeb, ligFin
Dim ligCpt
Dim ligNew

Dim nbrAct
Dim nbrPos, nbrTot
Dim tabNbr()
Dim nbrTmp

    ligDeb = 3
    ligFin = Cells(Rows.Count, 1).End(xlUp).Row
    ligNew = 3

    For ligCpt = ligFin To ligDeb Step -1
        nbrAct = Trim(Str(Cells(ligCpt, 1)))
        nbrAct = nbrAct + Space(Len(nbrAct) Mod 4)
        nbrPos = 1
        nbrTot = 0
        nbrTmp = ""
        ReDim tabNbr(1 To 1)
        While Not (nbrPos > Len(nbrAct))
            nbrTmp = nbrTmp + Mid(nbrAct, nbrPos, 1)
            If nbrPos Mod 4 = 0 Then
                nbrTot = nbrTot + 1
                ReDim Preserve tabNbr(1 To nbrTot)
                tabNbr(nbrTot) = nbrTmp
                nbrTmp = ""
            End If
            nbrPos = nbrPos + 1
        Wend

        For xx = 1 To UBound(tabNbr, 1)
            Cells(ligNew, 3) = tabNbr(xx)
            ligNew = ligNew + 1
        Next
    Next

End Sub

PS/ le code n'est pas du tout optimisé, j'ai fait ça un peu en vitesse pour la démo !

(re)

Ou si tu préfères voici la même chose avec démo et 2 versions !

232decomposeren4.xlsm (25.80 Ko)

Je tente tout cela dès que j'ai acces au logiciel excel

Grand merci !

Version 2 marche beaucoup mieu que la une merci !

Maintenant j'aimerai joindre la formule avec la macro ou juste avoir deux pages ou j'ai les deux séparément:

Dans un premier temps j'ai une cellule qui va être modifié par la formule ex : f5g2f644562g51623 ( le but est d'extraire les chiffres de la cellule et supprimer les lettres donc il me reste 5264456251623, j'utilise la formule suivante :

=VAN(-0,9;;SIERREUR(STXT(A1;1+NBCAR(A1)-LIGNE(DECALER(A$1;;;NBCAR(A1)));1)%;""))

Ensuite quand tout les cellules ont été réduit en chiffres seulement, je veux ensuite appliquer le tri avec la macro.

J'aurai donc 5264

4562

5162

3

Je partage le fichier excel pour voir si vous pouvez m'apporter votre aide, merci !

Bonjour dettox

Pourrais-tu fournir un exemple significatif de tes données (les nombres bizarres avec des lettres) et le résultat attendu ! et indiquer ce que je dois faire des nombres à virgules en terme de découpage !

Enfaite ce que je fais est je selectionne du texte sur un pdf et je tire vers le bas en utilisant alt ( c'est une colonne sur le pdf qui m'interesse)

Ca me donne ca par exemple : 1650-3263-1797

GEORGES2661

MACHEMIE5293

GILLE2-0022001-2000

GILLE1999-1997

GILLE6099

3255

1266-1267

1263-1264-1265

machee6787.6788.6790

bidule9518.1847

chouette7150.1693.1850

gateau2983

JeanL1272.1273.1274

CHIEYSSAL1276

CHIEYSSAL0369

Patate7741

3047

11 480.05

VA 6085-2325

adultes 1 700.00

3121-2457-1070

3626

9376.7218.0221

1245.7215

7217

0223-7213-9377

6274

1643-7217-1644-

3263

7216-1243-1244

5392-5411-06-09

9148-0513-9150

1555

6733-2972-1641

5829-0564-0514

7408

7405-5830-7410

4902-9585-1558

4690

2517-8180-2400

1791

Quand il y a marqué Gille par exemple c'est le tiers et j'aimerai le virer de la cellule sur excel Aussi tu remarquera qu'il y a des - entre les chiffres. C'est tout les 4 chiffres qu'il y a un - normalement ( pas toujours) mais le but est dans un premier temps supprimer les lettres de tiers et les tirets et par la suite faire la séparation par 4 chiffres en colonne.

Bonjour dettox

Donc si je résume nous devons obtenir ce résultat

capture

Bonsoir andrea73 !

C'est exactement ca ! !

(re)

Ok je regarde cela dans ce sens...

à bientôt !

Oui j'espère que tu trouve la solution !

A bientôt ! bonne soirée !

Bonjour dettox

Voici une nouvelle version, qui prend en compte les caractères "parasites" (non chiffres)

111decomposeren4-v2.xlsm (26.42 Ko)

Un grand merci a toi andrea !

Bonjour dettox

dettox a écrit :

Un grand merci a toi andrea !

Rechercher des sujets similaires à "fonction insertion ligne"