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.
 

Fichiers joints

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 Accro
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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas