XL 2010 Insertion ligne dans 2 feuilles

founguex

XLDnaute Nouveau
Bonjour le forum,

J'ai un classeur me servant de suivi de projet, j'ai pour contrainte de ne pouvoir le faire circuler, je vais donc essayer d'être le plus clair possible.

Explication: j'ai dans une feuille(appelée: projets) le suivi de plusieurs projets détaillés, et comme tout projet avance il me faut pouvoir insérer des lignes tout en gardant mes formules (calcul de date, liste de choix déroulante...)

J'ai donc crée une petite macro me permettant de réaliser en appuyant sur un bouton. Voici le petit code:
Code:
Sub Macroinsert()
     
     
    Application.ScreenUpdating = False
    ActiveCell(2).Resize(1).EntireRow.Insert
    ActiveCell(1).EntireRow.Copy ActiveCell(2).Resize(1).EntireRow
    On Error Resume Next 'au cas où il n'y ait pas de constantes
    ActiveCell(2).Resize(1).EntireRow. _
    SpecialCells(xlConstants).ClearContents

  
End Sub

Sur ma seconde feuille (appelé: tab, feuille caché) qui est un tableau récapitulatif des projets qui se composent des mêmes données que ma feuille ma feuille "projets" (avec quelques conneries en plus). Cette feuille génère une feuille nommée "macroprojet", qui comme son nom l'indique fait office de vue globale sur les différents projets en cours.

J'ai besoin que l'insertion de ligne sur la feuille "projet" soit générer automatique sur ma feuille "tab"aussi.
La solution qui me semble la plus efficace, serait de recopier les coordonnées de ma cellule active, et de transférer ces coordonnées sur la feuille "tab" et de ré-exécuter le code que j'ai écrit.

Mais je n'ai aucune idée pour faire cela. J'en viens donc vers vous pour m'aider à résoudre ce problème.

Cdlt,

Founguex
 

job75

XLDnaute Barbatruc
Bonjour founguex,

Lancez la 1ère macro :
Code:
Sub LancerInsertion()
InsertionLigne ActiveSheet, ActiveCell.Row
InsertionLigne Sheets("tab"), ActiveCell.Row
End Sub

Sub InsertionLigne(w As Worksheet, lig As Long) 'macro paramétrée
w.Rows(lig + 1).Insert
w.Rows(lig).Copy w.Rows(lig + 1)
On Error Resume Next
w.Rows(lig + 1).SpecialCells(xlCellTypeConstants).ClearContents
End Sub
A+
 

job75

XLDnaute Barbatruc
Re,

Je mets quand même le code avec la propriété .Address :
Code:
Sub LancerInsertion()
InsertionLigne ActiveSheet, ActiveCell.Address
InsertionLigne Sheets("tab"), ActiveCell.Address
End Sub

Sub InsertionLigne(w As Worksheet, adresse As String) 'macro paramétrée
With w.Range(adresse)
  .EntireRow(2).Insert
  .EntireRow.Copy .EntireRow(2)
  On Error Resume Next
  .EntireRow(2).SpecialCells(xlCellTypeConstants).ClearContents
End With
End Sub
A+
 

Discussions similaires

Réponses
4
Affichages
335
Réponses
1
Affichages
333
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 461
Messages
2 088 611
Membres
103 890
dernier inscrit
rugbymen79