Récupérer les valeurs de deux dates puis insérer dans une formule

Bonjour,

Je me décide à demander de l'aide car après plusieurs jours de recherche, je ne trouve pas la réponse. A noter que je suis pas experte en VBA, c'est plutôt de la débrouille.

Donc mon petit problème est :

Dans la cellule A8, j'ai une première date qui sera toujours située à cet endroit.

La deuxième date se situera dans la dernière cellule remplie de la colonne A.

Je souhaite récupérer ces deux dates pour les mettre en B4 sous cette forme : jj/mm/aaaa - jj/mm/aaaa.

Ces lignes seront à intégrer dans une macro déjà aboutie (à mon niveau bien sûr!).

J'espère que mes explications sont assez claires.

Merci par avance de votre aide.

Bonjour à tous,

sans vba

en b4

=texte(a8;"jj/mm/aaa")&" -"&texte(index(a:a:equiv(9^9^9;a:a;1));jj/mm/aaaa")

Crdlmt

Merci, mais ça je sais faire :)

Par contre j'ai besoin de VBA pour automatiser la tâche, étant donné le nombre de rapport que je dois sortir.

Merci

Bonjour,

Essaie :

[B4] = Format([A8], "dd/mm/yyyy") & "-" & _
Format(Cells(Rows.Count, 1).End(xlUp), "dd/mm/yyyy")

Daniel

Sans VBA, délire "nouvelles" fonctions :

=JOINDRE.TEXTE("-";;TEXTE(ASSEMB.V(A8;PRENDRE(FILTRE(A:A;A:A<>"");-1));"jj/mm/aaaa"))

OK, ce n'est pas ce qui est demandé mais je n'ai pas pu résister

Daniel

Bonjour Daniel et merci.

Ta solution VBA est intéressante mais je me retrouve avec "B1-B1", tout cela bien en B4.

Une idée?

Merci

... En fait petite erreur de ma part de la position du code dans ma macro.

Donc au final, j'ai bien en B4 la date reprise de A8 et le tiret mais pas la date dans la dernière cellule de la colonne A.

Merci d'avance pour l'aide apportée.

Bonjour,

Voici ce que j'ai en colonne A et ce que j'obtiens en B4 :

capture d ecran 2023 10 09 102307

Daniel

A moins que par "dernière date", tu ne veuilles dire "date la plus récente" ?

Daniel

La deuxième date recherchée est bien celle située dans la dernière cellule remplie de la colonne A.

Du coup je me pose une question : est-ce qu'une cellule vide mais remplie avec une couleur, pourrait être considérée comme non-vide, ce qui expliquerait pourquoi j'obtiens bien la première date (A8) mais rien après le tiret.

Des suggestions pour contourner?

Pour la couleur, non. Seules les valeurs de cellule sont prises en compte. Par contre, un espace dans une cellule le sera. La macro suivante affichera l'adresse de la cellule prise en compte :

Sub test1()
  MsgBox Cells(Rows.Count, 1).End(xlUp).Address
End Sub

Daniel

En effet, il prend bien la cellule d'après, qui est vide mais remplie couleur.

J'ai vérifié mais il n'y a pas d'espace pourtant.

J'y connais pas grand chose en vba, mais tu ne peux pas utiliser :

Worksheets("Sheet1").Range("B4").Formula = "=texte(a8;"jj/mm/aaa")&" -"&texte(index(a:a:equiv(9^9^9;a:a;1));jj/mm/aaaa")"

Bonjour DjiDji59430,

@Pulpito : Si la cellule a une adresse X, fais :

=NBCAR(X)

Et le résultat est différent de 0. (Il peut y avoir des caractères non affichables). Sinon, joins le classeur.

Daniel

Merci DanielC.

Mais je ne comprends pas ce que tu veux dire avec :

"Si la cellule a une adresse X, fais :

=NBCAR(X)

Et le résultat est différent de 0. (Il peut y avoir des caractères non affichables)"

Je mets la formule où?

Sinon, effectivement je voudrais bien joindre le fichier mais je traite des données confidentielles....

Désolée DanielC, j'ai compris! Est le résultat est 0.

Est-ce que l'on ne pourrait pas contourner le problème en mettant : dernière cellule vide -1?

Pas de souci :

[B4] = Format([A8], "dd/mm/yyyy") & "-" & _
Format(Cells(Rows.Count, 1).End(xlUp).Offset(-1), "dd/mm/yyyy")

C'est parfait! Merci beaucoup DanielC!

Rechercher des sujets similaires à "recuperer valeurs deux dates puis inserer formule"