Problématique sur liaison de cellule

juliensav

XLDnaute Junior
Bonjour à tous,

Fichier excel en pièce jointe disponible

Dans mon classeur, je possède 2 feuilles.

Feuille 1 = Produit
Feuille 2 = Produit-import

Dans la feuille (Produit), j'ai en ligne un mes champs:
A1= Produit principale
B1= Vide
C1= Famille 1
D1= Vide
E1= Famille 2
E1= Vide
G1= Famille 3
H1= Vide
I1= Famille 4
J1= Vide
K1= Famille 5
L1= Vide
M1= Famille 6
N1= Vide
O1= Famille 7
P1= Vide
Q1= Famille 8
R1= Vide
S1= Famille 9
T1= Vide
U1= Famille 10

Dans la feuille 2 (Produit-import), j'ai dans ma ligne 1 mes champs:
A1=Produit principale
B1= Vide
C1=Famille de produit

Je voudrais que les informations de la feuille 1 (produit) apparaissent de cette façon dans ma feuille 2 (produit-import)

A2 Feuille 2 = A2 Feuille 1
C2 Feuille 2 = C2 Feuille 1

A3 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C3 Feuille 2 = E2 Feuille 1

A4 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C4 Feuille 2 = G2 Feuille 1

A5 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C5 Feuille 2 = I2 Feuille 1

A6 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C6 Feuille 2 = K2 Feuille 1

A6 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C7 Feuille 2 = M2 Feuille 1

A8 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C8 Feuille 2 = P2 Feuille 1

A9 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C9 Feuille 2 = R2 Feuille 1

A10 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C10 Feuille 2 = S2 Feuille 1

A11 Feuille 2 = A2 Feuille 1 (ou peut rester vide)
C11 Feuille 2 = U2 Feuille 1

S'il y a des produits dans la feuille 1 (Produit) en A3, A4, A5...etc, je voudrais qu'il s'affiche de la même façon que ceux de la feuille 1 (Produit) en A1. Dans mon fichier originale, j'ai plus de 30 colonnes pour les familles et plusieurs milliers de ligne de produit principale. Donc j'aimerais avoir une idée simple comme une macro ou quelque chose de la sorte qui me permettrait d'un clic de répertorier mes informations de la feuille 1 sur la feuille 2.

J'ai essayé d'expliquer du mieux que je pouvais ce que je veux...si vous avez besoin de plus d'information, n'hésitez pas.....

Merci beaucoup
 

Pièces jointes

  • problematique-2.xls
    27 KB · Affichages: 44
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Problématique sur liaison de cellule

Bonjour,

salut Pierrejean :)

comme je n'ai pas fait tout à fait le même code, je le mets quand même

Code:
Sub recap()
Dim DerLig As Long, DerCol As Integer
Dim cel As Range
Sheets("Produit-import").Range("A2:C65000").ClearContents
For Each cel In Range("A2:A" & [A65000].End(xlUp).Row)
    DerCol = Cells(cel.Row, 256).End(xlToLeft).Column
    With Sheets("Produit-import")
        DerLig = .[C65000].End(xlUp).Row + 1
        .Cells(DerLig, 1) = cel
        Range(Cells(cel.Row, 3), Cells(cel.Row, DerCol)).Copy
        .Cells(DerLig, 3).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    End With
Next cel
Sheets("Produit-import").Columns("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
 

juliensav

XLDnaute Junior
Re : Problématique sur liaison de cellule

bonjour juliensav

Vois si cela te convient

Bonjour Pierrejean,

Lorsque j'appuie sur ton bouton report, rien ne se passe. J'ai donc crée un nouveau bouton et je lui ai affecté la macro. Par contre, il me marque un message de débogage et m'ouvre une fenêtre VBL.

J'aurais une autre question...

Que dois-je entrer comme code si ma colonne avec le numéro de produit commence en H4 et que les familles sont en:

DE4, DG4, DI4, DN4, DK4, DT4, DM4, DO4, DQ4, DS4, DU4, DW4, DY4, EA4, EC4, EE4, EG4, EI4, EK4, EM4, EO4, EP4, ER4, ES4, EU4, EW4, EY4, FA4, FC4, FE4 (Il y a une colonne cachée entre chacune de ces colonnes avec des données à l'intérieur que je ne veux pas transférer dans la deuxième feuille)

Aussi, dans mon fichier principale, ma feuille 2 se nomme product-link-import et les colonnes ci-haut seront transférées dans la colonne F3.

J'ai mis un nouveau fichier excel avec ce que j'ai réellement besoin... (peut-être que ca sera plus simple)
 

Pièces jointes

  • fichier-principal.xls
    47 KB · Affichages: 53

pierrejean

XLDnaute Barbatruc
Re : Problématique sur liaison de cellule

Re

J'ai verifié que dans le premier exemple cela fonctionnait

Maintenant , je n'ai plus le temps de traiter ton nouveau fichier et je serai loin de mon ordinateur pour tout le WE
Donc a lundi si bhbh :) :) (qui n'a pas besoin de déambulateur ....il comprendra) n'a pas résolu ton problème d'ici la
 

juliensav

XLDnaute Junior
Re : Problématique sur liaison de cellule

Bonjour Pierre,

J'aimerais avoir votre aide étant donné que personne ne m'a répondu. Si vous avez une solution, faite moi en part. J'apprécierais grandement.

Bonne journée

Re

J'ai verifié que dans le premier exemple cela fonctionnait

Maintenant , je n'ai plus le temps de traiter ton nouveau fichier et je serai loin de mon ordinateur pour tout le WE
Donc a lundi si bhbh :) :) (qui n'a pas besoin de déambulateur ....il comprendra) n'a pas résolu ton problème d'ici la
 

pierrejean

XLDnaute Barbatruc
Re : Problématique sur liaison de cellule

Re

Suite MP, la macro commentée

Code:
Sub test()
'numero de la 1ere ligne ou faire le report
ligne = 3
'balayage de la colonne H de la ligne 4 a la derniere non vide
For n = 4 To Range("H65536").End(xlUp).Row
'report sur la ligne=ligne et colonne 2 (B) de la valeur dans la feuille product....
  Sheets("Product-link-import").Cells(ligne, 2) = Range("H" & n)
  'balayage des colonnes de la 109eme a la derniere cellule non vide en ligne n
  'par pas de 2 pour eviter les colonnes vides
    For m = 109 To Cells(n, 256).End(xlToLeft).Column Step 2
  'report en colonne 5 dans la feuille product....
      Sheets("Product-link-import").Cells(ligne, 5) = Cells(n, m)
  'ligne suivante
      ligne = ligne + 1
    Next m
Next n
'selectioner la feuille product....
Sheets("Product-link-import").Select
End Sub
 

juliensav

XLDnaute Junior
Re : Problématique sur liaison de cellule

Merci milles fois pour votre aide, je vais y arriver !!!

Re

Suite MP, la macro commentée

Code:
Sub test()
'numero de la 1ere ligne ou faire le report
ligne = 3
'balayage de la colonne H de la ligne 4 a la derniere non vide
For n = 4 To Range("H65536").End(xlUp).Row
'report sur la ligne=ligne et colonne 2 (B) de la valeur dans la feuille product....
  Sheets("Product-link-import").Cells(ligne, 2) = Range("H" & n)
  'balayage des colonnes de la 109eme a la derniere cellule non vide en ligne n
  'par pas de 2 pour eviter les colonnes vides
    For m = 109 To Cells(n, 256).End(xlToLeft).Column Step 2
  'report en colonne 5 dans la feuille product....
      Sheets("Product-link-import").Cells(ligne, 5) = Cells(n, m)
  'ligne suivante
      ligne = ligne + 1
    Next m
Next n
'selectioner la feuille product....
Sheets("Product-link-import").Select
End Sub
 

Discussions similaires