XL 2010 RESOLU : Problème de formule de concaténation en VBA avec une variable en format date.

Anugraha

XLDnaute Nouveau
Bonjour à tous,

J'ai un petit souci concernant l'automatisation via VBA d'une formule de concaténation de trois colonnes G, H et I dans le fichier qui est joint.

La donnée dans la colonne I est en format date : en formule excel j'arrive bien à avoir ce que je veux avec la formule suivante : TEXTE(I2;"jj/mm/aaaa")&" - "&G2&" - "&H2 et dupliquer cette formule jusqu'à la dernière ligne vide.

Mais en VBA, je coince un peu.

Merci d'avance pour votre aide

Cordialement,
Anugraha.
 

Pièces jointes

  • Test Détail.xlsm
    29.7 KB · Affichages: 19

Theze

XLDnaute Occasionnel
Bonjour,

En Anglais, la fonction TEXTE est TEXT donc ta formule est :
Code:
ActiveCell.Formula = "=TEXT(I2,""jj/mm/aaaa"")&"" - ""&G2&"" - ""&H2"
Bien faire attention aux guillemets ! Les guillemets qui doivent apparaître dans la formule doivent être doublés.
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous,

dupliquer cette formule jusqu'à la dernière ligne vide.

Anugraha.

Bonjour à tous

Essaye ceci
VB:
Sub testjj()
With Sheets("Détail")
  Dim Derlg&
  Derlg = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
  .Range("k2:k" & Derlg).Formula = "=IF(i2="""","""",TEXT(I2,""jj/mm/aaaa"")&"" - ""&G2&"" - ""&H2)"
  'pour enlever la formule
  .Range("k2:k" & Derlg).Value = .Range("k2:k" & Derlg).Value
End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Une petite variante
(je pars du principe qu'il n'y a pas de cellules vides ;))
VB:
Sub Macro1()
Dim lig&
lig = Cells(Rows.Count, 9).End(3).Row - 1
  With [K2].Resize(lig)
    .Formula = "=TEXT(I2,""jj/mm/aaaa""""-"""""")&G2&""-""&H2": .Value = .Value
  End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 782
Membres
101 817
dernier inscrit
carvajal