Format personnalisé

Résolu
joseph974 Messages postés 5 Statut Membre -  
joseph974 Messages postés 5 Statut Membre -
Bonjour,
Et meilleur voeux 2013 à tous,

J'ai 4 colonnes d'un tableau excel
Colonne A : 1 nombre
Colonne B : 1 nombre
Colonne C : une valeur texte (Kg, L, ml etc...)
Colonne D : Total des lignes nombres col A et Col B
Je souhaiterais, pour chaque ligne de la colonne D, utiliser comme format personnalisé la valeur de la colonne C, sans utiliser la fonction "CONCATENER" ou autre qui formaterais la colonne D en texte. Je veux garder la colonne D en format numérique.
Peu m'importe si je dois utiliser du VBA ou une fonction d'Excel.
Ah! j'oublais. Pas de formule matricielle non plus.

Merci d'avance pour vos réponses.

4 réponses

  1. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir joseph974,4

    Directement dans la formule :
    =A1+B1 &" " &(C1)
    0
  2. joseph974 Messages postés 5 Statut Membre 1
     
    Bonsoir Heliotte,

    Déjà essayé. Le format de la colonne se transforme en texte et j'ai besoin de garder le format en numérique pour de calculs ultérieurs.

    Merci pour ton aide
    0
  3. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir joseph974,

    Pas d'accord avec vous, car il existe deux méthodes:

    Principe de départ :
    - "A" = nombre
    - "B" = nombre
    - "C" = texte
    - "D" = "A" + "B" + " " + "C"

    Solutions :
    1° : "E" ="A" + "B"
    2° : "E" =GAUCHE(D1;NBCAR(D1)-NBCAR(C1)-1)

    Voilà
    0
  4. joseph974 Messages postés 5 Statut Membre 1
     
    Bonsoir Heliotte,

    Effectivement votre méthode fonctionne, mais additionnée à mon calcul sur cette colonne, n'aurait fait que l'alourdir.
    Aussi je suis passé par une macro VBA de type :
    Private Sub Worksheet_Change(ByVal Cible As Range)
    Dim Plg As Range, Cel As Range
    Set Plg = Intersect(Columns(4), Cible)
    If Not Plg Is Nothing Then
    For Each Cel In Plg.Cells
    Cel.Offset(, 1).NumberFormat = "General " & """" & Cel.Value & """"
    Next
    End If
    End Sub

    Merci encore pour votre aide
    0