Récupération d'informations dans une feuille annexe

ipotez

XLDnaute Occasionnel
Salut,
Je rencontre un problème d'adaptation d'une macro qui m'avait été gentillement donnée il y a quelques temps par un ExcelDownloadien bien connu (Job75).

A l'époque l'objectif était de récupérer dans une feuille "recap", des données saisies dans une feuille "Saisie". Les lignes sur lesquelles un utilisateurs avait écrit un "X" devaient arriver sur "Recap" et à chaque modification des "X" sur la feuille saisie, la feuille "Recap" s'actualisait.

Cela fonctionne parfaitement ! Malheureusement les besoins ont évolués et l'on me demande aujourd'hui de modifier l'extraction pour obtenir certaines infos sur 1 feuille et d'autre infos sur une autre.

J'ai formulé les contraintes sur un classeur en pièce jointe et je remets la macro de Job75.

Merci infiniement de prendre un peu de votre temps
Bonne journée

Code:
Private Sub Worksheet_Activate()
Dim plage As Range, i As Long
Application.ScreenUpdating = False
With Sheets("SAISIE")
  Set plage = .Range("A5", .Range("A" & Rows.Count).End(xlUp))
End With
On Error Resume Next
[Zone].Delete 'suppression préalable
On Error GoTo 0
plage.EntireRow.Copy 'copie de la plage
[8:8].Insert 'insertion de lignes
Me.Names.Add "Zone", [8:8].Resize(plage.Count) 'mémorisation dans un nom
[Zone].Resize(, 2).Cut [C8]
For i = 11 + plage.Count To 12 Step -1
  If Cells(i, 3).Interior.ColorIndex < 0 And Cells(i, 3) <> "" And Cells(i, 4) = "" _
    Or Cells(i, 3).Interior.ColorIndex > 0 And Cells(i + 1, 3) = "" _
    Or Cells(i, 3) & Cells(i + 1, 3) = "" Then Rows(i).Delete
Next
If [C8] = "" And [C9] <> "" Then Rows(8).Delete
On Error Resume Next 'si la plage Zone a été supprimée
[Zone].Columns(6).ClearContents 'si l'on veut effacer les "x" en colonne D
Range("C1").Select
End Sub
 

Pièces jointes

  • PB EXCELDWLD.xlsx
    13.7 KB · Affichages: 65

job75

XLDnaute Barbatruc
Re : Récupération d'informations dans une feuille annexe

Re,

Une autre solution qui permet de conserver l'insertion du tableau : enregistrer le fichier après la suppression de la zone :

ThisWorkbook.Save

Fichier (8).

A+
 

Pièces jointes

  • PB XLDWNLD(8).xls
    66.5 KB · Affichages: 40

ipotez

XLDnaute Occasionnel
Re : Récupération d'informations dans une feuille annexe

Salut Job
J'ai testé sur le tableau joint mais j'ai l'impression que c'est plus lent encore :-/
Je suis tellement désolé de te faire galérer la dessus
Merci encore
 

Pièces jointes

  • PB XLDWNLD(7).xlsm
    60.1 KB · Affichages: 70

job75

XLDnaute Barbatruc
Re : Récupération d'informations dans une feuille annexe

Bonjour Damien, le forum,

En vacances en Normandie, j'ai testé votre fichier sur Excel 2007.

Effectivement la macro prend beaucoup trop de temps.

Je donne ma langue au chat car je ne vois aucune raison à cela.

Les Dernières cellules sont parfaitement normales...

Je crois avoir déjà vu des bizarreries de ce genre sur Excel 2007.

En rentrant à Paris je verrai sur Excel 2010.

A+
 

job75

XLDnaute Barbatruc
Re : Récupération d'informations dans une feuille annexe

Re,

J'ai donné ma langue au chat trop vite :)

Dans le tableau d'origine il y a des Mises en forme conditionnelles avec des tripotés de règles...

A chaque suppression de ligne les formules de la MFC se recalculent...

Supprimez ces MFC ou mettez-en de plus simples, ça ira mieux :cool:

A+
 

ipotez

XLDnaute Occasionnel
Re : Récupération d'informations dans une feuille annexe

Exactement ! Les MFC sont visiblement trop gourmandes en calcul, je vais les virer, dommage, j'aimé l'idée de ne voir apparaître les heures que lorsqu'elles étaient cochées.
En tout cas, un grand merci pour le code et surtout pour votre patience.
Bonne soirée
Damien
 

Discussions similaires

Réponses
17
Affichages
902

Statistiques des forums

Discussions
312 386
Messages
2 087 851
Membres
103 669
dernier inscrit
Anne Sicard