Macro avec valeur + texte personalisé sur fonction CONCATENER

Fredox

XLDnaute Occasionnel
Bonjour,

Sur ma ligne de code suivante, j'aimerais installer du texte après les valeurs récupérées dans d'autres cellules:

Code:
Range("F" & Lig).FormulaLocal = "=CONCATENER(AI" & Lig & ";AJ" & Lig & ";AK" & Lig & ")"

Je voudrais que la valeur issue de AI soit suivie du texte "V.", idem pour AJ


AI = 12
AJ = 75
AK = PZS

Le résultat actuel affiche "24250PZS", et je voudrais afficher "Batterie 12V. 75Ah PZS"

Une idée ?
 

Staple1600

XLDnaute Barbatruc
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Bonsoir à tous, Re Fredox

Fredox
Rebelote
Une fichier Excel joint, svp !

Sinon, on peut simplement écrire
Code:
Range("F" & Lig)= Range("AI" & Lig) & "V. " & Range("AJ" & Lig) & "h " & Range("AK" & Lig)
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Bonjour Fredox.

Comme ça, brut de brut ? Pas de fichier pour tester ? Avec un exemple qui ne correspond pas aux données ?
Vous, vous pouvez toujours essayer :
Range("F" & Lig).FormulaLocal = "=CONCATENER("Batterie "&AI" &"V. "& Lig & ";AJ" &"Ah "& Lig & ";AK" & Lig & ")"

JM : Tu me cherches ? et c'est moi qui te trouve ! avec un peu de retard..
 
Dernière édition:

Fredox

XLDnaute Occasionnel
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Ah !! Non pas de phobie à la pièce jointe (enfin je crois :confused:)
La preuve, après un effort mortel, le voici...


Merci
 

Pièces jointes

  • Exemple.xlsm
    27 KB · Affichages: 28
  • Exemple.xlsm
    27 KB · Affichages: 38
  • Exemple.xlsm
    27 KB · Affichages: 36

Staple1600

XLDnaute Barbatruc
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Re

Fredox
Non ça ne plante pas ...:rolleyes:
(et pourquoi tu as laissé les parenthèses surnuméraires ? )
NB: Toujours pas eu le temps de tester mon code VBA de l'autre fil ?
Code:
Sub Batterie_()
Dim Lig&
        Lig = ActiveCell.Row
        Range("F" & Lig).FormulaLocal = "=(RECHERCHEV(C" & Lig & ";'Prix'!A1:C5;2;0))-F" & Lig + 1 & ""
        Range("D" & Lig).FormulaLocal = "Prix de la référence"
Range("F" & Lig + 1).FormulaLocal = "=(RECHERCHEV(C" & Lig & ";'Prix'!A1:C5;3;0))"
        Range("D" & Lig + 1).FormulaLocal = "Cette valeur doit se déduire du prix de la ligne du dessus (et reste affichée)"
Range("D" & Lig) = Range("H" & Lig) & "V. " & Range("I" & Lig) & "h " & Range("J" & Lig)
End Sub
 

Fredox

XLDnaute Occasionnel
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

JM,

J'ai repris le code pour mon tableau (dernière ligne):

Code:
Sub Batterie_()

    Dim Lig&
    Lig = ActiveCell.Row

    Range("U" & Lig).FormulaLocal = "=(RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;12;0))-U" & Lig + 1 & ""
    Range("U" & Lig + 1).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;11;0)"
    Range("F" & Lig + 1).FormulaLocal = "Majoration plomb(déja déduite)"
    
    ' Tension
    Range("AI" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;2;0)"
    ' Capacité
    Range("AJ" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;5;0)"
    ' Type
    Range("AK" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;4;0)"
    ' Texte ligne batterie
    Range("F" & Lig) = Range("AI" & Lig) & "V. " & Range("AJ" & Lig) & "Ah " & Range("AK" & Lig)
    
 End Sub

Erreur de débogage: Erreur d'exécution 13 / Incompatibilité de type.

Tu aurais une idée.

--> Désoler si je ne poste pas mon tableau, mais c'est un tableau pro, il y à des données confidentielles.
 

Staple1600

XLDnaute Barbatruc
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Bonsoir à tous

J'ai juste remplacer les nom des colonnes
Faux, tu as aussi des cellules fusionnées (ce qui n'était pas le cas dans le fichier du post #5) ;)
Donc dé-fusionnes tes cellules et utilise à la place Centrer sur plusieurs colonnes
(je viens de tester en dé-fusionnant C30 (qui incluait donc D30, E30) et quand je clique sur le bouton , cela fonctionne, non ?)
01Fredox.png
 

Fredox

XLDnaute Occasionnel
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Merci de ton retour JM,
Je viens d'essayer, j'ai dé fusionné de C à M, et comme avant: ca fonctionne la première fois et ensuite, toujours cette erreur au débogage

Range("AI" & Ligo) = Erreur 2042
Range("AJ" & Ligo) = Erreur 2042
Range("AK" & Ligo) = Erreur 2042

Merci
 

Staple1600

XLDnaute Barbatruc
Re : Macro avec valeur + texte personalisé sur fonction CONCATENER

Re

Fredox
Dans ton fichier joint, on a:
Code:
' Tension
    Range("AI" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;2;0)"
    ' Capacité
    Range("AJ" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;5;0)"
    ' Type
    Range("AK" & Lig).FormulaLocal = "=RECHERCHEV(C" & Lig & ";'Batteries Plomb'!A9:P509;4;0)"
    ' Texte ligne batterie
    Range("F" & Lig) = Range("AI" & Lig) & "V " & Range("AJ" & Lig) & "Ah " & Range("AK" & Lig)
Alorq pourquoi tu parles de Ligo ??
Range("AI" & Ligo) = Erreur 2042
Range("AJ" & Ligo) = Erreur 2042
Range("AK" & Ligo) = Erreur 2042
 

Statistiques des forums

Discussions
312 166
Messages
2 085 885
Membres
103 018
dernier inscrit
mohcen23