Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

code pour repérer la dernière ligne écrite et incrémenter

24 réponses
Avatar
Greg
Bonjour à toutes et à tous,

Dans ce classeur (http://cjoint.com/?kduSqBGpKX), je cherche à produire une
ligne supplémentaire avec les mêmes caractéristiques que la dernière ligne
utilisée.

Ca donnerait qqchose dans le genre:

A B C
...
7 S1 blabla blablabla
8

et en cliquant sur un bouton macro, on pourrait générer la même ligne que la
dernière, même forme et même bordure, avec la suite logique en colonne A (S2
dans l'exemple) et dans les autres colonnes.

A B C
...
7 S1 blabla blablabla
8 S2

Mon problème: J'arrive à m'en sortir avec mes modestes compétences en
produisant une macro qui sélectionne la dernière ligne de B7:AV7, puis qui
incrémente sur la ligne du dessous et efface le contenu de E8 à AV8
(sauvegardant ainsi l'incrémentation de B7:D7 à B8:D8) et pour finir se
place en cellule E8 prêt à travailler.

1) Ca me parait un peu lourd
2) Ca ne génère que la ligne 8, et je dois recommencer une nouvelle macro
pour chaque nouvelle ligne. Il faudrait donc lui indiquer la dernière ligne
écrite dans la feuille, mais je ne sais pas le faire.

Pourriez-vous m'aider?

PS: Je suis novice en VB

Greg

10 réponses

1 2 3
Avatar
Jacquouille
Bonjour
Sans dévoiler le moindre du monde la Couronne, je puis te garantir que les
préférences de Stef, c'est en 1 : la Gastronomie, en 2 les filles et en 3
les mecs.
Rien d'étonnant à ce qu'il préfère le PC d'Emma.-))
Et quel code as-tu?
Quelle est la ligne qui se colorie en jaune?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Greg" a écrit dans le message de news:
48e7924f$0$15527$
Non, j'ai bien un problème avec mon serveur ou avec outlook puisque je
vois déjà mon message mais pas celui de Stef (qui est arrivé sur celui
d'Emma... Je suis très embêté car certains ont dû me répondre et se sont
certainement sentis ignorés...

Je vais chercher une solution!



Avatar
Greg
Bonsoir Jacquouille

Alors voilà, cette ligne apparait en jaune:
Range(Cells(lig, 3)).Activate

Et quand je l'enlève (je peux bien me passer de placer le curseur à cet
endroit en fin de macro), il ne fait pas du tout ce que j'attends...

Pour voir le résultat: http://cjoint.com/?keuZA07Kd2

En fait, il crée une ligne au dessus de la dernière, alors que je
m'attendais à ce qu'il supprime le contenu des cellules de la colonne C et D
de la dernière ligne... Je ne suis vraiment pas doué!

Ch'ti Excel...

"Jacquouille" a écrit dans le message de
news: %
Bonjour
Sans dévoiler le moindre du monde la Couronne, je puis te garantir que les
préférences de Stef, c'est en 1 : la Gastronomie, en 2 les filles et en 3
les mecs.
Rien d'étonnant à ce qu'il préfère le PC d'Emma.-))
Et quel code as-tu?
Quelle est la ligne qui se colorie en jaune?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Greg" a écrit dans le message de news:
48e7924f$0$15527$
Non, j'ai bien un problème avec mon serveur ou avec outlook puisque je
vois déjà mon message mais pas celui de Stef (qui est arrivé sur celui
d'Emma... Je suis très embêté car certains ont dû me répondre et se sont
certainement sentis ignorés...

Je vais chercher une solution!







Avatar
LSteph
Je t'ai mis un exemple qui fonctionne
je remets:

...et voici pour suivre dans l'idée ce qui me semblerait plus simple:

http://cjoint.com/?keomvj2aRj

----
Le conseil: favoriser la facilité de gestion des données et du tableau

Prévoir toujours d'abord la largeur dont on a besoin dans le tableau
fonctionnel.
Ainsi , faire en sorte de n'avoir pas dans ce dernier de colonnes vides
ni de fusions de cellules (qui sont par la mauvaise organisation des
données qu'elles impliquent source de perte des fonctionnalités du tableur)
Un titre par colonne et pas de colonnes sans titre.
Une ligne=>un enregistrement, pas de lignes vides dans le tableau;pas de
fusions!

Après on se débrouille toujours pour la présentation de ce qu'on veut
voir au dessus!
Moins de prise de tête avec qu'avec 48 réf de colonnes dont 90% inutiles.
----

Le code aussi est dès lors bien plus simple:

'''Code Feuil1
Private Sub CommandButton1_Click()
Call AjoutSeance
End Sub

'''Module1
Sub AjoutSeance()

Dim lig As Long
lig = [b65536].End(xlUp).Row

With Range(Cells(lig, 2), Cells(lig, 4))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 4))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault
Range("C" & lig + 1).Activate
End Sub

'lSteph


Greg a écrit :
Bonsoir Jacquouille

Alors voilà, cette ligne apparait en jaune:
Range(Cells(lig, 3)).Activate

Et quand je l'enlève (je peux bien me passer de placer le curseur à cet
endroit en fin de macro), il ne fait pas du tout ce que j'attends...

Pour voir le résultat: http://cjoint.com/?keuZA07Kd2

En fait, il crée une ligne au dessus de la dernière, alors que je
m'attendais à ce qu'il supprime le contenu des cellules de la colonne C et D
de la dernière ligne... Je ne suis vraiment pas doué!

Ch'ti Excel...

"Jacquouille" a écrit dans le message de
news: %
Bonjour
Sans dévoiler le moindre du monde la Couronne, je puis te garantir que les
préférences de Stef, c'est en 1 : la Gastronomie, en 2 les filles et en 3
les mecs.
Rien d'étonnant à ce qu'il préfère le PC d'Emma.-))
Et quel code as-tu?
Quelle est la ligne qui se colorie en jaune?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Greg" a écrit dans le message de news:
48e7924f$0$15527$
Non, j'ai bien un problème avec mon serveur ou avec outlook puisque je
vois déjà mon message mais pas celui de Stef (qui est arrivé sur celui
d'Emma... Je suis très embêté car certains ont dû me répondre et se sont
certainement sentis ignorés...

Je vais chercher une solution!










Avatar
LSteph
Dans ce que tu as écrit en plus il suffit de virer le select

Sub AjoutSeance()

' lig=première ligne que tu croises en partant d'en bas
Dim lig As Long
lig = [b65536].End(xlUp).Row

With Range(Cells(lig, 2), Cells(lig, 4))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 4))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne



End Sub



Greg a écrit :
Bonsoir Jacquouille


...
Avatar
LSteph
..et la ligne ajouter sous celle de numéro lig
devient lig+1, c'est ce qui fichait la pagaille.

LSteph a écrit :
Dans ce que tu as écrit en plus il suffit de virer le select

Sub AjoutSeance()

' lig=première ligne que tu croises en partant d'en bas
Dim lig As Long
lig = [b65536].End(xlUp).Row

With Range(Cells(lig, 2), Cells(lig, 4))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 4))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne



End Sub



Greg a écrit :
Bonsoir Jacquouille


...


Avatar
LSteph
Bonjour Jacquouille,

;-) je commence à comprendre pourquoi quand on a des lignes à supprimer
il faut partir d'en bas.
Je prèfère commencer par le 2 avant le 1 parcequ'à l'inverse
ça va moins bien.
D'autant que j'ai un tas d'autres préf à classer peut -être avant le 1

si par 3 tu veux dire les copaings Ok! ça reste au dessus de là ou tu as
figé les volets
mais sinon tu peux le placer loin sous la ligne 65536... enfin ou tu
veux mais merci qd même.

Et pour ce qui est de celui de venir barbouiller dans un forum, là je
dois dire qu'enfin
je ne sais jamais si c'est Greg qui signe Emma ou l'inverse,
l'important serait qu'ils essayent de pas poster le même sujet.
Tu me diras, un avec la colonne A l'autre avec la colonne b .
Si les ficelles se croisent on va finir avec une colonne I.

Sur ce je vais me chercher un coup de ce fâmeux CDR Blanc qui ferait se
débannir certaines éminences!

@bientôt.

Amicales salutations.

--
LSteph

Jacquouille a écrit :
Bonjour
Sans dévoiler le moindre du monde la Couronne, je puis te garantir que les
préférences de Stef, c'est en 1 : la Gastronomie, en 2 les filles et en 3
les mecs.
Rien d'étonnant à ce qu'il préfère le PC d'Emma.-))
Et quel code as-tu?
Quelle est la ligne qui se colorie en jaune?



Avatar
Jacky
Bonsoir Stéphane

;-) je commence à comprendre pourquoi quand on a des lignes à supprimer
il faut partir d'en bas.


Je l'ai pourtant crié à plusieurs reprises ;o))
Jacquouille peut témoigner <:-))

Sur ce je vais me chercher un coup de ce fâmeux CDR Blanc


Aller, un petit coup pour moi aussi,
Gsundhait<<




--
Salutations
JJ


"LSteph" a écrit dans le message de news:

Bonjour Jacquouille,

;-) je commence à comprendre pourquoi quand on a des lignes à supprimer
il faut partir d'en bas.
Je prèfère commencer par le 2 avant le 1 parcequ'à l'inverse
ça va moins bien.
D'autant que j'ai un tas d'autres préf à classer peut -être avant le 1

si par 3 tu veux dire les copaings Ok! ça reste au dessus de là ou tu as
figé les volets
mais sinon tu peux le placer loin sous la ligne 65536... enfin ou tu veux
mais merci qd même.

Et pour ce qui est de celui de venir barbouiller dans un forum, là je dois
dire qu'enfin
je ne sais jamais si c'est Greg qui signe Emma ou l'inverse,
l'important serait qu'ils essayent de pas poster le même sujet.
Tu me diras, un avec la colonne A l'autre avec la colonne b .
Si les ficelles se croisent on va finir avec une colonne I.

Sur ce je vais me chercher un coup de ce fâmeux CDR Blanc qui ferait se
débannir certaines éminences!

@bientôt.

Amicales salutations.

--
LSteph

Jacquouille a écrit :
Bonjour
Sans dévoiler le moindre du monde la Couronne, je puis te garantir que
les préférences de Stef, c'est en 1 : la Gastronomie, en 2 les filles et
en 3 les mecs.
Rien d'étonnant à ce qu'il préfère le PC d'Emma.-))
Et quel code as-tu?
Quelle est la ligne qui se colorie en jaune?





Avatar
Greg
Merci beaucoup, ça marche impec!

J'ai juste 2 petites questions techniques:

1) Comment est-il possible que le texte écrit en C3 se centre sur C3:D3
(fourni dans le cijoint d'origine de Stef). J'ai essayé, j'ai bidouillé, pas
moyen.

2) Comment déplacer, redimensionner le bouton de la macro? Le clic droit ne
marche pas, j'ai repéré la macro qui commandait l'objet en feuille 1 mais
apparemment pas de référence à la position ou à la taille de l'objet.

Merci à vous... et je crois qu'on arrive à la fin de cette ficelle.

Greg

PS: J'ai remarqué qu'en plus de parler VB, vous aviez un langage Excelabo.
Les mots sont bien dans le dictionnaire de la langue française et je ne
comprends pas grand chose à ce que vous vous racontez. Un langage codé...
encore une fois... ou tout simplement la complicité ;-))
Avatar
Philippe.R
Bonjour,
Format / cellule / onglet alignement / horizontal / centré sur plusieurs
colonnes

ou en VBA

With Range("C3:D3")
.HorizontalAlignment = xlCenterAcrossSelection
.MergeCells = False
End With

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:48e86057$0$22008$
Merci beaucoup, ça marche impec!

J'ai juste 2 petites questions techniques:

1) Comment est-il possible que le texte écrit en C3 se centre sur C3:D3
(fourni dans le cijoint d'origine de Stef). J'ai essayé, j'ai bidouillé,
pas moyen.

2) Comment déplacer, redimensionner le bouton de la macro? Le clic droit
ne marche pas, j'ai repéré la macro qui commandait l'objet en feuille 1
mais apparemment pas de référence à la position ou à la taille de l'objet.

Merci à vous... et je crois qu'on arrive à la fin de cette ficelle.

Greg

PS: J'ai remarqué qu'en plus de parler VB, vous aviez un langage Excelabo.
Les mots sont bien dans le dictionnaire de la langue française et je ne
comprends pas grand chose à ce que vous vous racontez. Un langage codé...
encore une fois... ou tout simplement la complicité ;-))





Avatar
Greg
Merci Philippe...

Erreur de débutant, je n'avais pas sélectionner les cellules avant d'activer
la commande. Honte sur moi.

Greg.

PS: reste le souci du bouton...

"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
%
Bonjour,
Format / cellule / onglet alignement / horizontal / centré sur plusieurs
colonnes

ou en VBA

With Range("C3:D3")
.HorizontalAlignment = xlCenterAcrossSelection
.MergeCells = False
End With

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Greg" a écrit dans le message de
news:48e86057$0$22008$
Merci beaucoup, ça marche impec!

J'ai juste 2 petites questions techniques:

1) Comment est-il possible que le texte écrit en C3 se centre sur C3:D3
(fourni dans le cijoint d'origine de Stef). J'ai essayé, j'ai bidouillé,
pas moyen.

2) Comment déplacer, redimensionner le bouton de la macro? Le clic droit
ne marche pas, j'ai repéré la macro qui commandait l'objet en feuille 1
mais apparemment pas de référence à la position ou à la taille de
l'objet.

Merci à vous... et je crois qu'on arrive à la fin de cette ficelle.

Greg

PS: J'ai remarqué qu'en plus de parler VB, vous aviez un langage
Excelabo. Les mots sont bien dans le dictionnaire de la langue française
et je ne comprends pas grand chose à ce que vous vous racontez. Un
langage codé... encore une fois... ou tout simplement la complicité ;-))








1 2 3