Comment Afficher dernieres lignes <> "" des

Bonjour,

Comment Afficher les dernieres lignes non vides des colonnes A et B dans une cellule donnee ou encore dans une zone de texte ?

Je precise que les cellules de la colonne A sont au format standard et celles de la colonne B sont au format Date.

Pour ma part je pensais m orienter vers une macro du type :

//En considerant qu on veuille afficher le tout en C1

Sub Afficher()

C1=Range("A65536").End(xlUp) and Range("B65536").End(xlUp)

Sub

Cordialement

Anthony

Bonjour,

les deux solutions :

Ecriture dans la cellule C1 :

[C1] = [A65000].End(xlUp) & " " & [B65000].End(xlUp)

et dans une zone de texte, nommée "Zone de texte 1" :

ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = [A65000].End(xlUp) & " " & [B65000].End(xlUp)

Bonjour Anthony_unac,

Bonjour Félix,

Allez, je tente quand même... un petit fichier bricolé avec enregistrement d'une macro... et ajout d'une méthode Intersect (merci Mytå)

Pas aussi pro que la version de Félix, (je ne maîtrise pas la syntaxe vba comme lui) mais ça fonctionne !

https://www.excel-pratique.com/~files/doc/AB.xls

Cordialement,

Bonjour

Même résultat sans Macro, avec formule matricielle

https://www.excel-pratique.com/~files/doc/ABV2.xls

Cordialement

Bonjour à tous,

Il y a aussi les formules suivantes :

Pour trouver le contenu de la dernière cellule avec des textes :

=RECHERCHE("z";A:A)

avec des chiffres :

=RECHERCHE(10^10;B:B)

les deux ensemble :

=RECHERCHE("z";A:A)&TEXTE(RECHERCHE(10^10;B:B);"jj/mm/aaaa")

édit : Salut Amadéus, V_Elbie, felix

felix a écrit :

Bonjour,

les deux solutions :

Ecriture dans la cellule C1 :

[C1] = [A65000].End(xlUp) & " " & [B65000].End(xlUp)

et dans une zone de texte, nommée "Zone de texte 1" :

ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = [A65000].End(xlUp) & " " & [B65000].End(xlUp)

Merci pour ces deux solutions super propres seulement voila je n arrive pas a les faire fonctionner. Pour preciser les choses j ai copier ce code :

Sub Alerte()

ActiveSheet.Shapes("Text Box 6").TextFrame.Characters.Text = [A65000].End(xlUp) & " " & [B65000].End(xlUp)

End Sub

dans le ThisWorkBook du Visual Basic Editor et sachant que ma zone de texte s appelle Zone de texte 6

Aurais je fais une mauvaise manip ?

Re-,

dans le ThisWorkBook

Pourquoi, dans le ThisWorkBook?

Est-ce à l'ouverture de ton fichier que tu veux ces deux informations?

ou au changement dans une de tes feuilles?

Bonjour,

Si le code est exécuter via un bouton, il faut le placer dans un module et non dans Thisworkbook.

A te relire

Dan

Raja a écrit :

Bonjour à tous,

Il y a aussi les formules suivantes :

Pour trouver le contenu de la dernière cellule avec des textes :

=RECHERCHE("z";A:A)

avec des chiffres :

=RECHERCHE(10^10;B:B)

les deux ensemble :

=RECHERCHE("z";A:A)&TEXTE(RECHERCHE(10^10;B:B);"jj/mm/aaaa")

édit : Salut Amadéus, V_Elbie, felix

Merci pour votre aide

J ai essaye et ca me renvoit malheureusement uniquement la date et pas l ensemble texte + date

felix a écrit :

Re-,

dans le ThisWorkBook

Pourquoi, dans le ThisWorkBook?

Est-ce à l'ouverture de ton fichier que tu veux ces deux informations?

ou au changement dans une de tes feuilles?

Au changement de la feuil3 pour etre precis et ma zone de texte est placée en feuil1

Re,

Pourrais-tu nous envoyer ton fichier ?

Nad-Dan a écrit :

Bonjour,

Si le code est exécuter via un bouton, il faut le placer dans un module et non dans Thisworkbook.

A te relire

Dan

Non il n y a pas de bouton l idee est d eviter les doublons de commandes en affichant un message du type attention commande en cours si la derniere commande passee est anterieur a 14 jours.

J ai bien avance pour obtenir ca et la j en suis au stade ou j ai 2 colonnes en feuil3 J (contenant le texte) et K (contenant) la date et j aimerais juste les afficher a la suite dans une zone de texte figurant en feuil1.

Raja a écrit :

Re,

Pourrais-tu nous envoyer ton fichier ?

Le voila :

https://www.excel-pratique.com/~files/doc/Commande.rar

Re,

Tu parles d'une zone texte en feuille 1... Il s'agit de la feuille Inventaire en C1 ? (tu en parles au début du fil). Tu devrais repréciser je crois

A te relire

Dan

Nad-Dan a écrit :

Re,

Tu parles d'une zone texte en feuille 1... Il s'agit de la feuille Inventaire en C1 ? (tu en parles au début du fil). Tu devrais repréciser je crois

A te relire

Dan

Oui la zone de texte se trouve a gauche du bouton Validation dans la feuil "Inventaire" et les 2 colonnes J et K se trouvent sur la feuil "Historique des commandes".

Je souhaite "simplement" afficher dans la zone de texte le contenu des dernieres lignes des colonnes J et K voila

Re,

C'est normal que la formule ne marche pas, car dans la colonne J, comme il y a une formule, la dernière cellule ramène un caractère néant "". Pour tester efface les formules du J20:J221, tu verras afficher ce que tu recherches.

Raja a écrit :

Re,

C'est normal que la formule ne marche pas, car dans la colonne J, comme il y a une formule, la dernière cellule ramène un caractère néant "". Pour tester efface les formules du J20:J221, tu verras afficher ce que tu recherches.

Ah mince !

Dans ce cas peut on s en sortir avec une astuce du type :

selctionner la derniere ligne contenant un x en colonne A appelons la ligne x

Afficher dans la zone de texte le contenu de la cellule Jx et Kx

re,

En adaptant une partie du code que Felix t'a proposé, mets ce code en VBA dans la feuille INVENTAIRE

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig As Long
lig = Sheets("Historique des Commandes").Range("A65536").End(xlUp).Row
ActiveSheet.Shapes("Text box 6").TextFrame.Characters.Text = _
Sheets("Historique des Commandes").Range("A" & lig).Offset(0, 9) & " " & Sheets("Historique des Commandes").Range("A" & lig).Offset(0, 10)
End Sub

Le code agira sur chaque changement en feuille Inventaire

Amicalement

Dan

Nad-Dan a écrit :

re,

En adaptant une partie du code que Felix t'a proposé, mets ce code en VBA dans la feuille INVENTAIRE

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig As Long
lig = Sheets("Historique des Commandes").Range("A65536").End(xlUp).Row
ActiveSheet.Shapes("Text box 6").TextFrame.Characters.Text = _
Sheets("Historique des Commandes").Range("A" & lig).Offset(0, 9) & " " & Sheets("Historique des Commandes").Range("A" & lig).Offset(0, 10)
End Sub

Le code agira sur chaque changement en feuille Inventaire

Amicalement

Dan

Merci beaucoup !

Pour le coup je suis un peu depasse par ce code mais le reste j ai bien capte alors une fois de plus merci car la je pense que l outil ainsi cree sera diablement efficace sur le terrain pour les logisticiens et autres.

re,

Mettons que je n'aurais pas fait de text box en feuille inventaire. On aurait pu mettre simplement cette donnée en cellule A5.

Merci de mettre la mention "résolu" en cliquant sur la liste déroulante en bas à gauche de ton premier post.

@+

Dan

Rechercher des sujets similaires à "comment afficher dernieres lignes"