Ajout d'un bloc de lignes

thierryL

XLDnaute Nouveau
Bonjour a tous !

Je souhaite ajouter un bloc de lignes dans ma feuille (grâce à 1 bouton off course), j'ai bien trouvé sur le forum des tonnes de sujets pour l'ajout d'une ligne mais plusieurs en même temps, rien. Bien sur lors de l'ajout, ce bloc de lignes devrait être vide. Je joins un fichier exemple et vous remercie d'avance pour votre aide...si à tout hasard quelqu'un a un peu de temps pour faire le bouton suppression d'un bloc ce serait "broadway"
Très cordialement
Thierry
 

Pièces jointes

  • Planning_Projet.xls
    48 KB · Affichages: 79

cibleo

XLDnaute Impliqué
Re : Ajout d'un bloc de lignes

Bonjour le forum,
Bonjour thierryL,

Tu dis :
Je souhaite ajouter un bloc de lignes dans ma feuille

J'ai du mal à cerner ta question. Le menu Insertion puis Lignes sert à cela.

Avec ta souris, tu sélectionnes 10 lignes puis Insertion et lignes et le tour est joué non !!!

Cibleo

Ps: En voyant la réponse de tototiti2008, je comprends mieux :eek:
 
Dernière édition:

thierryL

XLDnaute Nouveau
Re : Ajout d'un bloc de lignes

Rebonjour à tous,

Un grand merci à tototiti2008, c'est exactement ce qu'il fallait. Navré Cibleo de n'avoir pas été plus clair, je m'en suis rendu compte après l'envoi...mais parfois on est en phase avec d'autre. Forum génial en tout cas, avec un esprit service tel qu'on aimerait le trouver plus souvent ailleurs... étant une "buse" en VB, je ne peux pas rendre la pareil...j'espère que mon fichier xls rendra service à d'autre... bonne continuation
Thierry
 

thierryL

XLDnaute Nouveau
Re : Ajout d'un bloc de lignes

Re-bonjour à tous,
La macro mise en place pour dupliquer un "bloc-template de ligne" fonctionne à merveille et elle a séduit...mais comme vous pouvez l'imaginer une amélioration m'a été demandé, à savoir ajouter des lignes dans "bloc-template" ce que j'ai fait et là... la macro ne réagit plus comme je voudrais...en fait mon "bloc-template' passe de 5 lignes initialement à 11 et la macro ajoute sans que je trouve pourquoi 8 lignes seulement... je joins un exemple en pièce jointe, et vous remercie par avance du temps que vous consacrez à m'aider
Cordialement
Thierry
 

Pièces jointes

  • MasterPlan_Projet_v0.zip
    17.4 KB · Affichages: 54
  • MasterPlan_Projet_v0.zip
    17.4 KB · Affichages: 25
  • MasterPlan_Projet_v0.zip
    17.4 KB · Affichages: 38

thierryL

XLDnaute Nouveau
Re : Ajout d'un bloc de lignes

Re...

Avec la macro la taille ne baissait pas alors j'ai été obligé de tout viré... pour se référer à ce qui existait voir les post précédent
Merci
 

Pièces jointes

  • MasterPlan_Projet_v1.xls
    45.5 KB · Affichages: 78

tototiti2008

XLDnaute Barbatruc
Re : Ajout d'un bloc de lignes

je sens que je vais être embêtant... peux-tu poster le code de la macro ?
en fait je peux envoyer des zip mais pas les télécharger, donc j'avais envoyé la macro en zip mais je ne peux plus y accéder... et comme je ne me souviens plus :)
 

thierryL

XLDnaute Nouveau
Re : Ajout d'un bloc de lignes

Personne n'est embêtant quand il s'agit de donner un coup de main bénévole... c'est sympa à toi voici les 2 macro qui étaient dans un module

Sub AjoutBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("g65536").End(xlUp).Row + 1
If Ligne < 4 Then Ligne = 4
ThisWorkbook.Worksheets("Param").Range("Modèle").Copy Destination:=ActiveSheet.Range("A" & Ligne)
Application.CutCopyMode = False
End Sub

Sub SupprBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("g65536").End(xlUp).Row
If Ligne > 4 Then ActiveSheet.Rows(Ligne - 4 & ":" & Ligne).Delete
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Ajout d'un bloc de lignes

à priori ça devrait fonctionner comme ça :

Sub AjoutBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row + 1
If Ligne < 4 Then Ligne = 4
ThisWorkbook.Worksheets("Param").Range("Modèle").Copy Destination:=ActiveSheet.Range("A" & Ligne)
Application.CutCopyMode = False
End Sub

Sub SupprBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row
If Ligne > 4 Then ActiveSheet.Rows(Ligne + 1 - ThisWorkbook.Worksheets("Param").Range("Modèle").Rows.Count & ":" & Ligne).Delete
End Sub

Dis-moi si tu veux des explications :)
 

thierryL

XLDnaute Nouveau
Re : Ajout d'un bloc de lignes

à priori ça devrait fonctionner comme ça :

Sub AjoutBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row + 1
If Ligne < 4 Then Ligne = 4
ThisWorkbook.Worksheets("Param").Range("Modèle").Copy Destination:=ActiveSheet.Range("A" & Ligne)
Application.CutCopyMode = False
End Sub

Sub SupprBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row
If Ligne > 4 Then ActiveSheet.Rows(Ligne + 1 - ThisWorkbook.Worksheets("Param").Range("Modèle").Rows.Count & ":" & Ligne).Delete
End Sub

Dis-moi si tu veux des explications :)

Encore une fois un grand merci...ca fonctionne excel..lement bien

En revanche oui je veux bien une explique que je meurs un peu moins idiot ce soir et sur xls en particulier... j'ai vu que ActiveSheet.range avait changé et que le test if avait été complété...maintenant pour la traduction... je comprends pas tout..mais ne demande qu'à apprendre...
Thanks a lot !
Thierry
 

tototiti2008

XLDnaute Barbatruc
Re : Ajout d'un bloc de lignes

Bien,

Le bloc à ajouter (Feuille Param) a été nommé Modèle. Tu peux retrouver ce nom dans le Menu Insertion-Nom-Définir.

alors commençont par :
Code:
Sub AjoutBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row + 1
If Ligne < 4 Then Ligne = 4
ThisWorkbook.Worksheets("Param").Range("Modèle").C opy Destination:=ActiveSheet.Range("A" & Ligne)
Application.CutCopyMode = False
End Sub

Ligne est le numéro de la première ligne vide dans la feuille Janvier
pour trouver son numéro, je me place en J65536 et je fait l'equivalent de Ctrl + Flèche Haut, et j'additionne 1 :

Ligne = ActiveSheet.Range("J65536").End(xlUp).Row + 1

Si le numéro de ligne trouvé est inférieur à 4 alors je prend 4 (feuille vide) :

If Ligne < 4 Then Ligne = 4

Je copie la plage Modèle de la feuille Param dans la feuille Janvier, au numéro de ligne trouvé

ThisWorkbook.Worksheets("Param").Range("Modèle").C opy Destination:=ActiveSheet.Range("A" & Ligne)

Je désactive le mode Copier/Coller

Application.CutCopyMode = False

Jusque là, ça va ?
 

tototiti2008

XLDnaute Barbatruc
Re : Ajout d'un bloc de lignes

Bon, pour ça, maintenant :

Code:
Sub SupprBloc()
Dim Ligne As Long
Ligne = ActiveSheet.Range("J65536").End(xlUp).Row
If Ligne > 4 Then ActiveSheet.Rows(Ligne + 1 - ThisWorkbook.Worksheets("Param").Range("Modèle").R ows.Count & ":" & Ligne).Delete
End Sub

Comme dans la procédure précédente, on récupère un numéro de ligne, cette fois-ci il s'agit de la dernière remplie.

Ligne = ActiveSheet.Range("J65536").End(xlUp).Row

Si ce numéro est supérieur à 4 (sinon la feuille est considérée vide) on supprime les lignes de (Ligne +1 - Nombre de lignes du Modèle) à (Ligne)

If Ligne > 4 Then ActiveSheet.Rows(Ligne + 1 - ThisWorkbook.Worksheets("Param").Range("Modèle").Rows.Count & ":" & Ligne).Delete

peut-être que ça te permettra de le modifier toi même s'il y a d'autres évolutions... :)
 

Discussions similaires

Réponses
13
Affichages
228

Statistiques des forums

Discussions
312 613
Messages
2 090 231
Membres
104 454
dernier inscrit
alaindeloin.1976