IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Formater 0 27 100 6 en 000 027 100 006 par exemple. [LibreOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Points : 168
    Points
    168
    Billets dans le blog
    1
    Par défaut Formater 0 27 100 6 en 000 027 100 006 par exemple.
    Bonjour.

    J'ai récupéré la liste des (environ 200) valeurs d'une palette de couleur CMJN.
    C'est du texte, par exemple, : 0 27 100 6 pour exprimer le %age de chaque teinte cyan = 0%, Magenta = 27%, Jaune = 100% et Noir = 6%.

    Je voudrais obtenir 000 027 100 006 dans la cellule en restant au format texte.

    Est-ce possible ?
    Comment faire ?

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 669
    Points : 1 109
    Points
    1 109
    Par défaut
    Bonjour Papy Octet,

    Format > Cellule > Nombre >

    12 zéros non significatifs >
    cochez séparateur de milliers >
    si besoin 2 décimales

    Nom : Papy Octet_12ns0sm&2d.png
Affichages : 106
Taille : 28,5 Ko

    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  3. #3
    Membre habitué
    Homme Profil pro
    Maitre d'Oeuvre, topographe en pré-retraite
    Inscrit en
    Juin 2016
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Maitre d'Oeuvre, topographe en pré-retraite
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2016
    Messages : 86
    Points : 138
    Points
    138
    Par défaut
    Bjour Papy Octet, et njhub

    Je ne crois pas que la solution de njhub soit efficace.

    Je ferais "enregistrer sous" au format texte (.csv)
    puis "fichier ouvrir" en cochant l'espace comme caractère séparateur de champ

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Points : 168
    Points
    168
    Billets dans le blog
    1
    Par défaut
    Bonsoir njhub.

    Merci pour ta réponse mais ce n'est pas ce que je cherche à faire.
    La liste des nombres que j'ai recueillie est au format texte et donc il y a un espace entre chaque nombre.
    Pour que ta proposition fonctionne, il faut que ce soient des chiffres, or si je convertis ces nombres 0 27 100 6 en chiffres, j'obtiens 271006. Je perds le premier 0, or j'en ai bien besoin.

    Pour l'utilisation que je compte faire de ceci, le maintiens en texte me convient parfaitement.

    A+

    Bonsoir Tpf45.
    J'obtiens alors chaque nombre dans une cellule différente. Il faut encore ajouter les éventuels 0 non significatifs manquants pour arriver au 3 chiffres par nombre puis concaténer à nouveau les cellules et leur contenu en intercalant un espace entre chaque nombre reconstitué.

    Je pensais à une macro qui ferait ça. Il y a tellement longtemps que je n'ai plus écrit de macros ... mais je cherche dans cette direction.

    A+

  5. #5
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 669
    Points : 1 109
    Points
    1 109
    Par défaut
    Bonjour Papy Octet,

    Je crois vous avoir compris,
    Partant de : pour arriver à :
    '0 5 15 5 '000 005 015 005
    '0 0 100 0 '000 000 100 000
    '100 80 0 0 '100 080 000 000
    '0 50 20 100 '000 050 020 100
    '100 40 40 90 '100 040 040 090
    '50 100 100 50 '050 100 100 050


    La formule ci-dessous fait le job

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER(GAUCHE(CONCATENER(GAUCHE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));8);REPT("0";12-CHERCHE(" ";CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));9));DROITE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));NBCAR(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4)))-8));12);REPT("0";15-NBCAR(CONCATENER(GAUCHE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));8);REPT("0";12-CHERCHE(" ";CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));9));DROITE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));NBCAR(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4)))-8))));DROITE(CONCATENER(GAUCHE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));8);REPT("0";12-CHERCHE(" ";CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));9));DROITE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));NBCAR(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4)))-8));NBCAR(CONCATENER(GAUCHE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));8);REPT("0";12-CHERCHE(" ";CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));9));DROITE(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4));NBCAR(CONCATENER(GAUCHE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);4);REPT("0";8-CHERCHE(" ";CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);5));DROITE(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2);NBCAR(CONCATENER(REPT("0";4-CHERCHE(" ";I2));I2))-4)))-8)))-12))
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Points : 168
    Points
    168
    Billets dans le blog
    1
    Par défaut
    Bonjour njhub.
    Waouw ! Celle-là, il fallait la construire.

    Merci.

    De mon côté, j'ai continué à chercher et à me rappeler mes souvenirs (lointains) de programmation et j'ai pondu ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    REM  *****  BASIC  *****
     
     
    sub CorrigeCMJN
    rem ----------------------------------------------------------------------
    rem define variables
    Dim oDoc As Object , Feuille As Object 
    Dim CMJN , NewCMJN As String 
    Dim CelluleActive As Object
    Dim Col as Integer, Li as Integer
    rem ----------------------------------------------------------------------
    rem get access to the document
     
    CMJN = ""
    Col = 0
    Li = 1
     
    	oDoc = ThisComponent 
    	Feuille = oDoc.getSheets.getByName("Feuille1")
     
    for Li = 1 to 184
    	rem atteindre le contenu de chacune des cellules CMJN
    	CelluleActive = Feuille.getCellByPosition( Col, Li )
     
    	rem Recuperer le texte contenu
    	CMJN = CelluleActive.String
     
    	rem Appel fonction de modif references couleurs CMJN
    	NewCMJN = Trio(CMJN)
     
    	rem modifier un CMJN et écrire dans la cellule d'à côté
    	Cellule = Feuille.getCellByPosition( Col + 1 , Li )
    	Cellule.String = NewCMJN
     
    Next Li
     
    End Sub
     
    Function Trio(Couleurs)
    rem ----------------------------------------------------------------------
    rem Modifie chaque groupe de valeur C, M, J et N
    rem pour qu'ils se composent de 3 caractères (chiffres)
     
    for i = 0 To 3	rem traiter les 4 couleurs
    	rem Recupère le premier groupe disponible jusqu'au caractères espace
    	Espace = InStr(Couleurs, " ")	rem Position de l'espace dans la chaine
    	If Espace > 0 Then
    		Mot = Left(Couleurs,Espace - 1)	rem récupère la première couleur
    	Else
    		Mot = Couleurs	rem récupère la première couleur
    	End If
    	Select Case Len(Mot) 
    		Case = 1
    				NouveauCMJN = NouveauCMJN + " " + "00" + Mot
    		Case = 2
    				NouveauCMJN = NouveauCMJN + " " + "0" + Mot
    		Case = 3
    				NouveauCMJN = NouveauCMJN + " " + Mot
    		Case Else
    			MsgBox "Oups ! Trop long"
    		End Select
     
    		rem Modifie la chaine initiale des couleurs
    		Couleurs = Right(Couleurs, Len(Couleurs) - Espace)
     
    Next i
    	rem On retourne la nouvelle chaine de caractères pour les couleurs CMJN
    	Trio = NouveauCMJN
     
     
    End Function
    Bonne journée.
    A+

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Avec une fonction personnalisée :
    =CorrigeCMJN(A1)

    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function CorrigeCMJN(str As String) As Variant
    Dim t, i%
      If Len(str) - Len(Replace(str, " ", "")) = 3 Then
        t = Split(str, " ")
        For i = 0 To UBound(t)
          t(i) = Right("000" & t(i), 3)
        Next
        CorrigeCMJN = Join(t, " ")
      ElseIf str = "" Then
        CorrigeCMJN = ""
      Else
        CorrigeCMJN = CVErr(XlCVError.xlErrNum)  ' renvoie #NOMBRE!
      End If
    End Function
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  8. #8
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 211
    Points : 168
    Points
    168
    Billets dans le blog
    1
    Par défaut
    Bonjour Patrice740.

    Comme je l'ai écrit plus haut : mes connaissances en Basic sont un peu parcellaires.

    Merci pour ton amélioration.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enregistrer des graphiques sous format vectoriel (.emf par exemple)
    Par bendesarts dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/11/2016, 14h50
  2. Réponses: 0
    Dernier message: 12/03/2016, 09h28
  3. Réponses: 5
    Dernier message: 12/11/2010, 12h48
  4. Réponses: 6
    Dernier message: 01/02/2008, 19h23
  5. Affichage formaté (html par exemple)
    Par Michel_57 dans le forum Delphi
    Réponses: 3
    Dernier message: 26/12/2006, 22h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo