Besoin d'aide urgent / liaison de cellule

juliensav

XLDnaute Junior
Problème pour liaison de cellules entre plusieurs feuilles

En passant, désolé pour le titre Besoin d'aide urgent !

Bonjour à tous,

Je vous explique mon problème:

Dans mon fichier Excel, j'ai 5 feuilles.

Pour ceux qui désirent télécharger le fichier excel, celui-ci est disponible en pièce jointe dans ce post.

Nom des feuilles:
Feuille 1 : Option-chaine-1
Feuille 2 : Option-chaine-2
Feuille 3 : Option-tige-1
Feuille 4 : Option-tige-2
Feuille 5 : Option-import

Dans les feuilles 1-2-3-4, j'ai une multitude de données d'entré sur 11 colonnes.

Ce que je veux faire, c'est d'intégrer les information de chacune de ces pages (1-2-3-4) dans la page numéro 5. Par contre, elle doivent être dans l'ordre.

Exemple de la feuille 5:
La première ligne répéterait les champs de mes colones des feuilles 1-2-3-4, car il s'agit des mêmes champs pour chacune des feuilles.

Dans cette feuille 5, j'aimerais que les informations soit afficher de cette façon:

Feuille 5, ligne 2 = Feuille 1, ligne 2
Feuille 5, ligne 3 = Feuille 2, ligne 2
Feuille 5, ligne 4 = Feuille 3, ligne 2
Feuille 5, ligne 5 = Feuille 4, ligne 2

Ensuite, je voudrais répéter la chose:

Feuille 5, ligne 6 = Feuille 1, ligne 3
Feuille 5, ligne 7 = Feuille 2, ligne 3
Feuille 5, ligne 8 = Feuille 3, ligne 3
Feuille 5, ligne 9 = Feuille 4, ligne 3
Feuille 5, ligne 10 = Feuille 1, ligne 4
Feuille 5, ligne 11 = Feuille 2, ligne 4
Feuille 5, ligne 12 = Feuille 3, ligne 4
Feuille 5, ligne 13 = Feuille 4, ligne 4

Je voudrais une fonctionner qui me permettrait d'exemple de copier/coller la formule pour que ceci ce fasse plus rapidement, car j'ai des milliers de lignes....

Si quelqu'un peut me donner un coup de main, j'apprécierais grandement !

Mon MSN, julien_savard@hotmail.com ou sur ce post
 

Pièces jointes

  • problematique.xls
    44 KB · Affichages: 82
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Besoin d'aide urgent / liaison de cellule

Salut JulienSAV,

J'aurais voulu dire bienvenue sur le forum XLD, mais tu commences mal :cool:

Ici il n'y a pas de besoin d'aide URGENT !

Nous sommes tous bénévoles et essayons de répondre au questions quand nous le pouvons, mais en aucun cas dans l'urgence.

Comme l'a dis Jaques ATTALI : Rien n'est plus urgent que d'aimer.

Sur ce bonne soirée et à demain.
 

juliensav

XLDnaute Junior
liaison de cellule

Désolé pour ce mal entendu, j'ai corrigé mon titre de message !!!

Merci de m'avoir averti !!!

Salut JulienSAV,

J'aurais voulu dire bienvenue sur le forum XLD, mais tu commences mal :cool:

Ici il n'y a pas de besoin d'aide URGENT !

Nous sommes tous bénévoles et essayons de répondre au questions quand nous le pouvons, mais en aucun cas dans l'urgence.

Comme l'a dis Jaques ATTALI : Rien n'est plus urgent que d'aimer.

Sur ce bonne soirée et à demain.
 
C

Compte Supprimé 979

Guest
Re : Besoin d'aide urgent / liaison de cellule

Re,

Alors, bienvenue sur XLD ;) et merci de ta compréhension ...

Ci-joint ton fichier avec un petit code qui je l'espère te conviendra :D

A+
 

Pièces jointes

  • JulienSAV_ProblematiqueV1.xls
    62.5 KB · Affichages: 48

juliensav

XLDnaute Junior
Re : Besoin d'aide urgent / liaison de cellule

Merci pour le code, mais j'aimerais que tu m'explique comment faire, car je dois maintenant l'intégrer dans certaine de mes feuilles excel.

Je vois qu'il s'agit d'une macro, mais si tu peux m'en expliquer d'avantage pour que je puisse le faire par moi même.


Re,

Alors, bienvenue sur XLD ;) et merci de ta compréhension ...

Ci-joint ton fichier avec un petit code qui je l'espère te conviendra :D

A+
 
C

Compte Supprimé 979

Guest
Re : Besoin d'aide urgent / liaison de cellule

Re,

Dans les classeurs ou tu veux mettre le code, il suffit de copier le texte ci-dessous
Code:
Sub CopieVal()
  Dim Derlig As Long, NumF As Integer
 [COLOR=darkgreen] ' 1) effacer le contenu de la feuille IMPORT[/COLOR]
  Sheets("option-import").Range("A3:O" & Rows.Count).ClearContents
  [COLOR=darkgreen]' 2) pour chaque feuille de la 1ère à la 4ème[/COLOR]
  For NumF = 1 To 4
   [COLOR=darkgreen] ' Récupère la dernière ligne occupée de la feuille[/COLOR]
    Derlig = Sheets(NumF).Range("B" & Rows.Count).End(xlUp).Row
   [COLOR=darkgreen] ' Copie la plage des cellules[/COLOR]
    Sheets(NumF).Range("A3:O" & Derlig).Copy
    [COLOR=darkgreen]' Colle les valeurs uniquement dans IMPORT, à la prochaine ligne vide[/COLOR]
    Sheets("option-import").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial _
      Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  Next NumF
  [COLOR=darkgreen]' Annuler le mode copier/coller[/COLOR]
  Application.CutCopyMode = False
 [COLOR=darkgreen] ' Tri des données[/COLOR]
  With Sheets("option-import")
  [COLOR=darkgreen]' Récupère la dernière ligne occupée de la feuille IMPORT[/COLOR]
  Derlig = .Range("B" & Rows.Count).End(xlUp).Row
  [COLOR=darkgreen]' Tri les colonnes A,G,K dans l'ordre respectif Ascendant, Ascendant, Descendant[/COLOR]
  .Range("A3:O" & Derlig).Sort Key1:=Range("A3"), Order1:=xlAscending, _
    Key2:=Range("G3"), Order2:=xlAscending, Key3:=Range("K3"), Order3:=xlDescending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  End With
End Sub

D'aller dans l'édityeur VBA (ALT+F11)
Menu -> Insertion -> Module

Et de coller le code

Ensuite tu fermes l'éditeur VBA et tu lances la macro "CopieVal"

Le code est expliqué

Voilà ;)
 

juliensav

XLDnaute Junior
Re : Besoin d'aide urgent / liaison de cellule

Milles merci

Ca fonctionne à merveille, tu es un AS!

En passant, petite question pour le For NumF = 1 To 4

Supposons que mes feuilles dans lesquelles je veux faire ce code sont les feuilles 1, 5, 12 et 20, quoi dois-je entrer dans cette section NumF


Merci encore!



Re,

Dans les classeurs ou tu veux mettre le code, il suffit de copier le texte ci-dessous
Code:
Sub CopieVal()
  Dim Derlig As Long, NumF As Integer
 [COLOR=darkgreen] ' 1) effacer le contenu de la feuille IMPORT[/COLOR]
  Sheets("option-import").Range("A3:O" & Rows.Count).ClearContents
  [COLOR=darkgreen]' 2) pour chaque feuille de la 1ère à la 4ème[/COLOR]
  For NumF = 1 To 4
   [COLOR=darkgreen] ' Récupère la dernière ligne occupée de la feuille[/COLOR]
    Derlig = Sheets(NumF).Range("B" & Rows.Count).End(xlUp).Row
   [COLOR=darkgreen] ' Copie la plage des cellules[/COLOR]
    Sheets(NumF).Range("A3:O" & Derlig).Copy
    [COLOR=darkgreen]' Colle les valeurs uniquement dans IMPORT, à la prochaine ligne vide[/COLOR]
    Sheets("option-import").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial _
      Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  Next NumF
  [COLOR=darkgreen]' Annuler le mode copier/coller[/COLOR]
  Application.CutCopyMode = False
 [COLOR=darkgreen] ' Tri des données[/COLOR]
  With Sheets("option-import")
  [COLOR=darkgreen]' Récupère la dernière ligne occupée de la feuille IMPORT[/COLOR]
  Derlig = .Range("B" & Rows.Count).End(xlUp).Row
  [COLOR=darkgreen]' Tri les colonnes A,G,K dans l'ordre respectif Ascendant, Ascendant, Descendant[/COLOR]
  .Range("A3:O" & Derlig).Sort Key1:=Range("A3"), Order1:=xlAscending, _
    Key2:=Range("G3"), Order2:=xlAscending, Key3:=Range("K3"), Order3:=xlDescending, _
    Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  End With
End Sub

D'aller dans l'édityeur VBA (ALT+F11)
Menu -> Insertion -> Module

Et de coller le code

Ensuite tu fermes l'éditeur VBA et tu lances la macro "CopieVal"

Le code est expliqué

Voilà ;)
 

juliensav

XLDnaute Junior
Re : Besoin d'aide urgent / liaison de cellule

En passant, petite question pour le For NumF = 1 To 4

Supposons que mes feuilles dans lesquelles je veux faire ce code sont les feuilles 1, 5, 12 et 20, quoi dois-je entrer dans cette section NumF


Merci encore!
 

Discussions similaires

Réponses
7
Affichages
377
Réponses
22
Affichages
793

Statistiques des forums

Discussions
312 345
Messages
2 087 471
Membres
103 553
dernier inscrit
jhnm