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

  • Initiateur de la discussion Initiateur de la discussion Anugraha
  • Date de début Date de début

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

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

Réponses
7
Affichages
554
Réponses
11
Affichages
564

Statistiques des forums

Discussions
315 294
Messages
2 118 144
Membres
113 436
dernier inscrit
LAROQUE