Ajout ligne MACRO

julienlar

XLDnaute Nouveau
Bonjour à tous,

Je bloques sur une macro dans le bût d'ajouter une ligne à mon document.

Le principe est le suivant :
- Ajouter une ligne sous la cellule sélectionné,
- Copier les fonctions (Cellule blanche) de calcul de la ligne supérieure (cellule d'origine),
- Laisser vide les cellules jaunes,
- Remettre les liste déroulantes (Cellule rose) sur le tiret

J'arrives à faire cette action complète seulement l'action se situe toujours depuis la même cellule.

Ci-joint mon fichier.

Merci d'avance à tous.

Julien
 

Pièces jointes

  • Note de calcul PDC HYDRAULIQUE ESSAIS.xls
    77 KB · Affichages: 200

julienlar

XLDnaute Nouveau
Re : Ajout ligne MACRO

Rebonjour,

Merci de ton aide. La macro que tu me proposes me permet d'insérer correctement une nouvelle ligne.

Cependant cette nouvelle ligne est la copie que celle d'origine. Je souhaiterais que les valeurs des cellules jaunes soient vides, celles en rose soit sur la valeur du tiret, les cases en blanc doivent conserver la fonction de calcul.

Merci.
 

julienlar

XLDnaute Nouveau
Re : Ajout ligne MACRO

Enfaite, je me suis mal exprimé.

L'insertion marche nickel. Il faudrait que le format et les formules qui soient recopié provienne d'une ligne type qui sera masqué en référence B2 U2

Et je souhaiterais rajouter un autre macro pour supprimer une ligne sélectionnée.

Merci beaucoup pour ton soutient.
 

TempusFugit

XLDnaute Impliqué
Re : Ajout ligne MACRO

En B2:U2, il ya déjà ton titre ....

Et je souhaiterais rajouter un autre macro pour supprimer une ligne sélectionnée.
Il te sufffit de supprimer une ligne sélectionnée tout en laissant tourner l'enregistreur de macros pour ensuite disposer du code VBA équivalent à cette manipulation.

Ce qui devrait de donner un truc du genre
ActiveCell.EntireRow.Delete
 
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : Ajout ligne MACRO

Il suffit d'adapter ainsi non ?

Code:
Sub Macro1()
ActiveCell.EntireRow.Insert
Range("B2:U2").Copy
ActiveCell.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
 

TempusFugit

XLDnaute Impliqué
Re : Ajout ligne MACRO

Par sécurité, utilises plutot cette version modifiée
Code:
Sub Macro1()
If ActiveCell.Column = 2 Then
ActiveCell.EntireRow.Insert
Range("B2:U2").Copy
ActiveCell.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Else
Exit Sub
End If
End Sub
 

lry

XLDnaute Nouveau
Re : Ajout ligne MACRO

J'aimerais une petite adaptation.

Avec la macro de TempusFugit, il faut être sur la colonne B pour pouvoir utiliser la macro. J'aimerais pouvoir utiliser la macros quelque soit la cellule sélectionné (pas uniquement une cellule de la colonne B).
La macro peut insérer toute la ligne 2 si nécessaire.

Merci d'avance de votre aide.
 

lry

XLDnaute Nouveau
Re : Ajout ligne MACRO

Bonjour Pierrot et merci.
Il y a de l'idée mais cela ne marche pas comme je souhaite. La ligne s’insère mais se retrouve décalé en fonction de la position de la cellule active.
Il me faudrait copier la ligne en respectant les colonnes.
 

Discussions similaires

Réponses
3
Affichages
785

Statistiques des forums

Discussions
312 613
Messages
2 090 231
Membres
104 453
dernier inscrit
benjiii88