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

VBA - Débutant - Comment connaitre la ligne cellule courante et se déplacer par rapport à cette cellule

4 réponses
Avatar
Driss HANIB
Bonjour à tous

nouveau inscrit sur ce NG je vien de consulter les post déjà présents et ne
voyant pas la solution à mon problème je me permets de vous l'exposer.

Dans une feuille qui me servira de comptabilité, je souhaite créer un bouton
avec une macro sur la l'avant dernière ligne du tableau (la dernière ligne
portant les sommes des colonnes).

Cette macro devra insérer une ligne AVANT cette avant dernière ligne, copier
les formules de la ligne précédente, et faire en sorte que le bouton ( s'il
ne le fait pas garde sa posittion sur l'avant dernière ligne).
Je suis adepte du VB mais pas de VBA.

Je cherche donc sans doute :
1. a connaitre les coordonnées de la cellule sous le bouton
2. à me déplacer RELATIVEMENT à cette cellule (L-1)
3. à insérer une nouvelle ligne
4. A copier les formules de la ligen au dessus vers la ligne créée sachant
que certaines colonnes sont cachées.

Merci pour vos pistes

Driss

4 réponses

Avatar
stephane62
Bonjour,

il suffit de placer le bouton sur l'avant dernière ligne et de placer le
code suivant sur le bouton nommé " Bouton"

Private Sub Bouton_Click()

Range(Bouton.TopLeftCell.Address).Offset(-1, 0).EntireRow.Copy
Range(Bouton.TopLeftCell.Address).EntireRow.Insert

End Sub


Stephane




"Driss HANIB" wrote:

Bonjour à tous

nouveau inscrit sur ce NG je vien de consulter les post déjà présents et ne
voyant pas la solution à mon problème je me permets de vous l'exposer.

Dans une feuille qui me servira de comptabilité, je souhaite créer un bouton
avec une macro sur la l'avant dernière ligne du tableau (la dernière ligne
portant les sommes des colonnes).

Cette macro devra insérer une ligne AVANT cette avant dernière ligne, copier
les formules de la ligne précédente, et faire en sorte que le bouton ( s'il
ne le fait pas garde sa posittion sur l'avant dernière ligne).
Je suis adepte du VB mais pas de VBA.

Je cherche donc sans doute :
1. a connaitre les coordonnées de la cellule sous le bouton
2. à me déplacer RELATIVEMENT à cette cellule (L-1)
3. à insérer une nouvelle ligne
4. A copier les formules de la ligen au dessus vers la ligne créée sachant
que certaines colonnes sont cachées.

Merci pour vos pistes

Driss





Avatar
stephane62
Bonjour ,

il faut placer un bouton de commande nommé "Bouton" sur l'avant dernière
ligne; puis de placer le code suivant:

Private Sub Bouton_Click()
Range(Bouton.TopLeftCell.Address).Offset(-1, 0).EntireRow.Copy
Range(Bouton.TopLeftCell.Address).EntireRow.Insert

End Sub


Stephane

"Driss HANIB" wrote:

Bonjour à tous

nouveau inscrit sur ce NG je vien de consulter les post déjà présents et ne
voyant pas la solution à mon problème je me permets de vous l'exposer.

Dans une feuille qui me servira de comptabilité, je souhaite créer un bouton
avec une macro sur la l'avant dernière ligne du tableau (la dernière ligne
portant les sommes des colonnes).

Cette macro devra insérer une ligne AVANT cette avant dernière ligne, copier
les formules de la ligne précédente, et faire en sorte que le bouton ( s'il
ne le fait pas garde sa posittion sur l'avant dernière ligne).
Je suis adepte du VB mais pas de VBA.

Je cherche donc sans doute :
1. a connaitre les coordonnées de la cellule sous le bouton
2. à me déplacer RELATIVEMENT à cette cellule (L-1)
3. à insérer une nouvelle ligne
4. A copier les formules de la ligen au dessus vers la ligne créée sachant
que certaines colonnes sont cachées.

Merci pour vos pistes

Driss





Avatar
michdenis
Bonjour Driss,

Pour situer ton bouton dans la feuille, Stéphane t'a indiqué
comment procéder...

Une macro exemple de ce que tu veux faire.
'---------------------------------------------
Sub Test()
Dim DerLig As Long
'Avec la feuil1
With Worksheets("Feuil1")
'Pour la plage A:H
With .Range("A:H")
'Trouve la dernière ligne occupée
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End With
'Avec cette dernière ligne de la plage
With .Range("A" & DerLig & ":H" & DerLig)
'Insertion d'une ligne juste avant la dernière ligne
.Insert
'copie de la ligne avant celle ajoutée sur la ligne ajoutée
.Offset(-2).AutoFill .Offset(-2).Resize(2)
End With
End With
End Sub
'---------------------------------------------



"Driss HANIB" a écrit dans le message de groupe de discussion :

Bonjour à tous

nouveau inscrit sur ce NG je vien de consulter les post déjà présents et ne
voyant pas la solution à mon problème je me permets de vous l'exposer.

Dans une feuille qui me servira de comptabilité, je souhaite créer un bouton
avec une macro sur la l'avant dernière ligne du tableau (la dernière ligne
portant les sommes des colonnes).

Cette macro devra insérer une ligne AVANT cette avant dernière ligne, copier
les formules de la ligne précédente, et faire en sorte que le bouton ( s'il
ne le fait pas garde sa posittion sur l'avant dernière ligne).
Je suis adepte du VB mais pas de VBA.

Je cherche donc sans doute :
1. a connaitre les coordonnées de la cellule sous le bouton
2. à me déplacer RELATIVEMENT à cette cellule (L-1)
3. à insérer une nouvelle ligne
4. A copier les formules de la ligen au dessus vers la ligne créée sachant
que certaines colonnes sont cachées.

Merci pour vos pistes

Driss
Avatar
michel
Bonjour
Si tu as 2003 au moins le plus simple est de définir ton tableau comme une
liste/table avec ajout d'une ligne total alors tu n'as meme plus besoin de
bouton
en 2003 données/liste/creer une liste
en 2007 ruban insertion/tableau
Excel insere ensuite automatiquement une ligne avant le total et decale tout
ce qui est en dessous du tableau
@plus
Michel
"Driss HANIB" a écrit dans le message de
news:
Bonjour à tous

nouveau inscrit sur ce NG je vien de consulter les post déjà présents et
ne voyant pas la solution à mon problème je me permets de vous l'exposer.

Dans une feuille qui me servira de comptabilité, je souhaite créer un
bouton avec une macro sur la l'avant dernière ligne du tableau (la
dernière ligne portant les sommes des colonnes).

Cette macro devra insérer une ligne AVANT cette avant dernière ligne,
copier les formules de la ligne précédente, et faire en sorte que le
bouton ( s'il ne le fait pas garde sa posittion sur l'avant dernière
ligne).
Je suis adepte du VB mais pas de VBA.

Je cherche donc sans doute :
1. a connaitre les coordonnées de la cellule sous le bouton
2. à me déplacer RELATIVEMENT à cette cellule (L-1)
3. à insérer une nouvelle ligne
4. A copier les formules de la ligen au dessus vers la ligne créée sachant
que certaines colonnes sont cachées.

Merci pour vos pistes

Driss