faire correspondre un tcd d'un feuille1 avec un tableau d'une autre feuille

Le
bastientot
Bonjour,

voici mon probleme :

Dans un classeur j'ai une feuille lotissement et une feuille TCD avec
un tableau et j'aimerais reporter mes chiffres de ma feuille tcd vers
ma feuille lotissement mais je ne vois pas comment faire, car je dois
faire correspondre les infos de ma feuille tcd avec ma feuille
lotissement par critere :
ligne 4 puis ligne 5 puis ligne 6 & colonne A

et la je ne vois pas comment faire ?

Merci de votre aide.

voici un exemple de mon fichier :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijWq8ub2X.xls
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18625721
Salut à toi

Pour simplifier j'ai mis les données dans le même ordre ligne 6 de l'onglet
TCD et ligne 4 de l'onglet LOTISSEMENT

J'espère que celà ne représente pas pour toi un inconvénient

Je te propose ainsi ce code :

i = 7
Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0).Row
Ligne = 0
On Error Resume Next
Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheets("TCD").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookIn:=xlValues, _
LookAt:=xlWhole).Row
If Ligne > 4 Then
For j = 0 To 11
If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Value = ""
Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Value =
Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Value = ""
Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Value =
Sheets("TCD").Cells(i, Range("N1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Value = ""
Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Value =
Sheets("TCD").Cells(i, Range("B1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Value = ""
Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Value =
Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
End If
Next
End If
i = i + 1
Loop

Sur ce lien ton document adapté ainsi :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijuAFLY9O.xls

ouvres le et clique sur le bouton "Traitement" onglet LOTISSEMENT

Donnes moi ton avis !!!!
bastientot
Le #18626061
merci de ton aide

le seul probleme c que la feuille lotissement ne peu etre retouchée ni
modififer et ue la feuille tcd provient d'un TCD et je ne sais po
comment la mettre en forme pour recuperer le meme ordre que ma feuille
lotissement, mais sinon c exactement cela.

est il possible de modifier le format de mon tcd pour avoir la meme
chose que sur la feuille lotissement ?

grand merci de ton aide.


On 9 fév, 15:53, FFO
Salut à toi

Pour simplifier j'ai mis les données dans le même ordre ligne 6 de l' onglet
TCD et ligne 4 de l'onglet LOTISSEMENT

J'espère que celà ne représente pas pour toi un inconvénient

Je te propose ainsi ce code :

i = 7
   Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0). Row
   Ligne = 0
   On Error Resume Next
   Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheets( "TCD­").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookI n:=xlValues, _
        LookAt:=xlWhole).Row
   If Ligne > 4 Then
   For j = 0 To 11
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Valu e = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Value =
Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Value =
Sheets("TCD").Cells(i, Range("N1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Value =
Sheets("TCD").Cells(i, Range("B1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Value =
Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
   End If
   Next
   End If
   i = i + 1
   Loop

Sur ce lien ton document adapté ainsi :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijuAFLY9O.xls

ouvres le et clique sur le bouton "Traitement" onglet LOTISSEMENT

Donnes moi ton avis !!!!


bastientot
Le #18626261
remarque je pourrais reprendre mon tcd avec un =niania et reprendre le
bon format ??

sauf si tu a une solution .



On 9 fév, 15:53, FFO
Salut à toi

Pour simplifier j'ai mis les données dans le même ordre ligne 6 de l' onglet
TCD et ligne 4 de l'onglet LOTISSEMENT

J'espère que celà ne représente pas pour toi un inconvénient

Je te propose ainsi ce code :

i = 7
   Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0). Row
   Ligne = 0
   On Error Resume Next
   Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheets( "TCD­").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookI n:=xlValues, _
        LookAt:=xlWhole).Row
   If Ligne > 4 Then
   For j = 0 To 11
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Valu e = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j).Value =
Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j).Value =
Sheets("TCD").Cells(i, Range("N1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j).Value =
Sheets("TCD").Cells(i, Range("B1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Val ue = ""
Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j).Value =
Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
   End If
   Next
   End If
   i = i + 1
   Loop

Sur ce lien ton document adapté ainsi :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijuAFLY9O.xls

ouvres le et clique sur le bouton "Traitement" onglet LOTISSEMENT

Donnes moi ton avis !!!!


FFO
Le #18631281
Rebonjour à toi

Je te propose ce nouveau code qui tient compte de l'ordre des colonnes :

i = 7
Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0).Row
Ligne = 0
On Error Resume Next
Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheets("TCD").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookIn:=xlValues, _
LookAt:=xlWhole).Row
If Ligne > 4 Then
n = 1
For j = 0 To 11
If n = 4 Then
n = 0
k = 0
End If
If n = 1 Then
k = 2
End If
If n = 2 Then
k = 0
End If
If n = 3 Then
k = -2
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k).Value =
"" Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k).Value =
Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k).Value
= "" Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k).Value =
Sheets("TCD").Cells(i, Range("N1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k).Value
= "" Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k).Value =
Sheets("TCD").Cells(i, Range("B1").Column + j).Value
End If
If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k).Value
= "" Then
Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k).Value =
Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
End If
n = n + 1
Next
End If
i = i + 1
Loop

En analysant le résultat j'ai constaté que pour une même catégorie dans le
tableau TCD sur une colonne 2 valeurs étaient possible exemple :

Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (ligne
15)
Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (ligne
16)

Seules les premières valeurs sont rapportées dans l'onglet LOTISSEMENT

Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
Il faut choisir

Merci de m'apporter des précisions pour ces cas

Sur ce lien ton document adapté avec ce nouveau code :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijPTLwbBV.xls

Fais des essais et dis moi !!!!
bastientot
Le #18631711
Bonjour,

Grand merci ton code fonctionne très bien.

encore une petite question sur un TCD comment garder la mise en forme
car a l'heure actuelle dès que je le refresh et bien je perds cette
mise en forme ??

merci d'avance.


On 10 fév, 08:48, FFO
Rebonjour à toi

Je te propose ce nouveau code qui tient compte de l'ordre des colonnes :

i = 7
   Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0). Row
   Ligne = 0
   On Error Resume Next
   Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheets( "TCD­").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookI n:=xlValues, _
        LookAt:=xlWhole).Row
   If Ligne > 4 Then
   n = 1
   For j = 0 To 11
   If n = 4 Then
   n = 0
   k = 0
   End If
   If n = 1 Then
   k = 2
   End If
   If n = 2 Then
   k = 0
   End If
   If n = 3 Then
   k = -2
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k). Value =
"" Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k).Val ue =
Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k) .Value
= "" Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k).Va lue =
Sheets("TCD").Cells(i, Range("N1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k) .Value
= "" Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k).Va lue =
Sheets("TCD").Cells(i, Range("B1").Column + j).Value
   End If
   If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k) .Value
= "" Then
   Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k).Va lue =
Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
   End If
   n = n + 1
   Next
   End If
   i = i + 1
   Loop

En analysant le résultat j'ai constaté que pour une même catégori e dans le
tableau TCD sur une colonne 2 valeurs étaient possible exemple :

Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (lig ne
15)
Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (lig ne
16)

Seules les premières valeurs sont rapportées dans l'onglet LOTISSEMEN T

Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
Il faut choisir

Merci de m'apporter des précisions pour ces cas

Sur ce lien ton document adapté avec ce nouveau code :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijPTLwbBV.xls

Fais des essais et dis moi !!!!


bastientot
Le #18631911
oups non il y a une erruer il ne tiens plus compte de la ligne avec
les OS wintel as400 etc... ??


On 10 fév, 10:15, wrote:
Bonjour,

Grand merci ton code fonctionne très bien.

encore une petite question sur un TCD comment garder la mise en forme
car a l'heure actuelle dès que je le refresh et bien je perds cette
mise en forme ??

merci d'avance.

On 10 fév, 08:48, FFO


> Rebonjour à toi

> Je te propose ce nouveau code qui tient compte de l'ordre des colonnes :

> i = 7
>    Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0 ).Row
>    Ligne = 0
>    On Error Resume Next
>    Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
> Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=Sheet s("TCD­­").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C4"), LookIn:=xlValues, _
>         LookAt:=xlWhole).Row
>    If Ligne > 4 Then
>    n = 1
>    For j = 0 To 11
>    If n = 4 Then
>    n = 0
>    k = 0
>    End If
>    If n = 1 Then
>    k = 2
>    End If
>    If n = 2 Then
>    k = 0
>    End If
>    If n = 3 Then
>    k = -2
>    End If
>    If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k ).Value =
> "" Then
>    Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k).V alue =
> Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
>    End If
>    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k).Value
> = "" Then
>    Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k). Value =
> Sheets("TCD").Cells(i, Range("N1").Column + j).Value
>    End If
>    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k).Value
> = "" Then
>    Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k). Value =
> Sheets("TCD").Cells(i, Range("B1").Column + j).Value
>    End If
>    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k).Value
> = "" Then
>    Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k). Value =
> Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
>    End If
>    n = n + 1
>    Next
>    End If
>    i = i + 1
>    Loop

> En analysant le résultat j'ai constaté que pour une même catégo rie dans le
> tableau TCD sur une colonne 2 valeurs étaient possible exemple :

> Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (l igne
> 15)
> Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (l igne
> 16)

> Seules les premières valeurs sont rapportées dans l'onglet LOTISSEM ENT

> Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
> Il faut choisir

> Merci de m'apporter des précisions pour ces cas

> Sur ce lien ton document adapté avec ce nouveau code :

>http://www.cijoint.fr/cjlink.php?file=cj200902/cijPTLwbBV.xls

> Fais des essais et dis moi !!!!- Masquer le texte des messages préc édents -

- Afficher le texte des messages précédents -


bastientot
Le #18632021
On 10 fév, 10:31, wrote:
oups non il y a une erruer il ne tiens plus compte de la ligne avec
les OS wintel as400 etc... ??

On 10 fév, 10:15, wrote:



> Bonjour,

> Grand merci ton code fonctionne très bien.

> encore une petite question sur un TCD comment garder la mise en forme
> car a l'heure actuelle dès que je le refresh et bien je perds cette
> mise en forme ??

> merci d'avance.

> On 10 fév, 08:48, FFO
> > Rebonjour à toi

> > Je te propose ce nouveau code qui tient compte de l'ordre des colonne s :

> > i = 7
> >    Do While i < Sheets("TCD").Range("A65535").End(xlUp).Offset(1, 0).Row
> >    Ligne = 0
> >    On Error Resume Next
> >    Ligne = Sheets("LOTISSEMENT").Range("C4", "C" &
> > Sheets("LOTISSEMENT").Range("C65535").End(xlUp).Row).Find(What:=She ets("TCD­­­").Range("A" & i), After:=Sheets("LOTISSEMENT").Range("C 4"), LookIn:=xlValues, _
> >         LookAt:=xlWhole).Row
> >    If Ligne > 4 Then
> >    n = 1
> >    For j = 0 To 11
> >    If n = 4 Then
> >    n = 0
> >    k = 0
> >    End If
> >    If n = 1 Then
> >    k = 2
> >    End If
> >    If n = 2 Then
> >    k = 0
> >    End If
> >    If n = 3 Then
> >    k = -2
> >    End If
> >    If Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k).Value =
> > "" Then
> >    Sheets("LOTISSEMENT").Cells(Ligne, Range("O1").Column + j + k) .Value =
> > Sheets("TCD").Cells(i, Range("AL1").Column + j).Value
> >    End If
> >    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k).Value
> > = "" Then
> >    Sheets("LOTISSEMENT").Cells(Ligne, Range("AA1").Column + j + k ).Value =
> > Sheets("TCD").Cells(i, Range("N1").Column + j).Value
> >    End If
> >    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k).Value
> > = "" Then
> >    Sheets("LOTISSEMENT").Cells(Ligne, Range("AM1").Column + j + k ).Value =
> > Sheets("TCD").Cells(i, Range("B1").Column + j).Value
> >    End If
> >    If Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k).Value
> > = "" Then
> >    Sheets("LOTISSEMENT").Cells(Ligne, Range("AY1").Column + j + k ).Value =
> > Sheets("TCD").Cells(i, Range("Z1").Column + j).Value
> >    End If
> >    n = n + 1
> >    Next
> >    End If
> >    i = i + 1
> >    Loop

> > En analysant le résultat j'ai constaté que pour une même caté gorie dans le
> > tableau TCD sur une colonne 2 valeurs étaient possible exemple :

> > Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (ligne
> > 15)
> > Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (ligne
> > 16)

> > Seules les premières valeurs sont rapportées dans l'onglet LOTISS EMENT

> > Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
> > Il faut choisir

> > Merci de m'apporter des précisions pour ces cas

> > Sur ce lien ton document adapté avec ce nouveau code :


J'ai rien ça marche bien désolé ....

vraiment grand merci



> >http://www.cijoint.fr/cjlink.php?file=cj200902/cijPTLwbBV.xls

> > Fais des essais et dis moi !!!!- Masquer le texte des messages préc édents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


FFO
Le #18632141
Rebonjour à toi

"il ne tiens plus compte de la ligne avec
les OS wintel as400 etc... ??"

Peux tu préciser car je ne vois pas
Pour moi tout est correct

Tu n'as pas répondu à ma question :

En analysant le résultat j'ai constaté que pour une même catégorie dans le
tableau TCD sur une colonne 2 valeurs étaient possible exemple :

Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (ligne
15)
Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (ligne
16)

Seules les premières valeurs sont rapportées dans l'onglet LOTISSEMENT

Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
Il faut choisir

Merci de m'apporter des précisions pour ces cas
bastientot
Le #18632501
non aucun probleme tout fonctionne bien

pour le probleme des valeur il n'y a pas de probleme car je ne devrais
jamais avoir de ligne avec un meme libelé.

et merci encore.



On 10 fév, 10:52, FFO
Rebonjour à toi

"il ne tiens plus compte de la ligne avec
les OS wintel as400 etc... ??"

Peux tu préciser car je ne vois pas
Pour moi tout est correct

Tu n'as pas répondu à ma question :

En analysant le résultat j'ai constaté que pour une même catégori e dans le
tableau TCD sur une colonne 2 valeurs étaient possible exemple :

Colonne AR pour Texte 4 j'ai la valeur 16 (ligne 10) et la valeur 10 (lig ne
15)
Colonne AR pour Texte 5 j'ai la valeur 11 (ligne 11) et la valeur 64 (lig ne
16)

Seules les premières valeurs sont rapportées dans l'onglet LOTISSEMEN T

Je ne peux pas ramener plusieurs valeurs pour une cellule donnée
Il faut choisir

Merci de m'apporter des précisions pour ces cas


FFO
Le #18632491
Rebonjour à toi
Pour la mise en forme du TCD il me faudrait un exemple et ta manière exacte
de procéder
Peux tu m'en dire plus dans ce sens
Merci
Publicité
Poster une réponse
Anonyme