OVH Cloud OVH Cloud

Systeme de recherche entre sheet

3 réponses
Avatar
Guillaume
Bonjour,
Je suis un novice en ce qui concerne tte programmation sur=20
excel, mais suite aux recommendations d'un ami de crosoft=20
je m'adresse =E0 vous car selon lui, ce forum est tres=20
r=E9actif.

Je vous explique ma probl=E9matique :=20

j'ai deux tableaux :=20

l'un (sheet1) comporte une colonne avec un num=E9ro "alpha"=20
et en face la colonne avec le nom de l'entreprise.

l'autre(sheet2) tableau est compos=E9 du fameux num=E9ro=20
alpha, du nom de l'entreprise et du numero SIRET.=20

Le but de l'operation est de sortir tt les num=E9ros SIRET=20
de la sheet 2 pour les coller en face de son numero "Alpha"
sur la sheet 1.=20

Voici le sh=E9ma que j'ai imagin=E9 pour l'op=E9ration ( je=20
rappelle que je suis un pur novice, mon id=E9e est peut etre=20
idiote )

1-S=E9lection de du num=E9ro "alpha" de la sheet 1
2-Trouver le m=EAme num=E9ro "alpha" sur la sheet 2
3-selectionner le num=E9ro SIRET correspondant=20
4-copier ce numero SIRET
5-coller le numero de SIRET sur la mm ligne que le=20
num=E9ro "alpha" de la sheet 1
6-appliquer cette op=E9ration =E0 tte la colonne=20
num=E9ros "alpha" de la sheet 1

Alors si qqu =E0 une solution pour m'=E9viter des dizaines=20
d'heures de copier coller entre sheet.=E7a me serait=20
extremement utile.

Merci d'avance

Guillaume

3 réponses

Avatar
jerrykhann
Salut Guillaume,
on suppose ton identifiant société en colonne A sur la feuille1
on suppose ton identifiant société en colonne A sur la feuille2
on suppose ton numéro SIRET en colonne C sur la feuille2
(je me suis arrêté en ligne 4 dans l'exemple... a aménager donc :-)

sur ta feuille A en C1 (si elle est libre !) tu tapes :
=INDEX(Feuil2!$A$1:$C$4;EQUIV(A1;Feuil2!$A$1:$A$4;0);3)
ensuite tu recopies vers le bas autant de fois que nécessaire.
cela convient ?

--
jerrykhann ( virez jerry c'est un bon à rien :-)
--
"Guillaume" a écrit dans le message de
news:08d701c3926c$83cab8d0$
Bonjour,
Je suis un novice en ce qui concerne tte programmation sur
excel, mais suite aux recommendations d'un ami de crosoft
je m'adresse à vous car selon lui, ce forum est tres
réactif.

Je vous explique ma problématique :

j'ai deux tableaux :

l'un (sheet1) comporte une colonne avec un numéro "alpha"
et en face la colonne avec le nom de l'entreprise.

l'autre(sheet2) tableau est composé du fameux numéro
alpha, du nom de l'entreprise et du numero SIRET.

Le but de l'operation est de sortir tt les numéros SIRET
de la sheet 2 pour les coller en face de son numero "Alpha"
sur la sheet 1.

Voici le shéma que j'ai imaginé pour l'opération ( je
rappelle que je suis un pur novice, mon idée est peut etre
idiote )

1-Sélection de du numéro "alpha" de la sheet 1
2-Trouver le même numéro "alpha" sur la sheet 2
3-selectionner le numéro SIRET correspondant
4-copier ce numero SIRET
5-coller le numero de SIRET sur la mm ligne que le
numéro "alpha" de la sheet 1
6-appliquer cette opération à tte la colonne
numéros "alpha" de la sheet 1

Alors si qqu à une solution pour m'éviter des dizaines
d'heures de copier coller entre sheet.ça me serait
extremement utile.

Merci d'avance

Guillaume
Avatar
guillaume
MErci jerry jefais un test avec un collegue la, mais
apparement il me parle d'une macro "loop" en vba.mais je
vais teté ta formule aussi :)

merci bcp en tt cas de ta rapidité

gui
-----Message d'origine-----
Salut Guillaume,
on suppose ton identifiant société en colonne A sur la
feuille1

on suppose ton identifiant société en colonne A sur la
feuille2

on suppose ton numéro SIRET en colonne C sur la feuille2
(je me suis arrêté en ligne 4 dans l'exemple... a
aménager donc :-)


sur ta feuille A en C1 (si elle est libre !) tu tapes :
=INDEX(Feuil2!$A$1:$C$4;EQUIV(A1;Feuil2!$A$1:$A$4;0);3)
ensuite tu recopies vers le bas autant de fois que
nécessaire.

cela convient ?

--
jerrykhann ( virez jerry c'est un bon à rien :-)
--
"Guillaume" a écrit dans le message
de

news:08d701c3926c$83cab8d0$
Bonjour,
Je suis un novice en ce qui concerne tte programmation sur
excel, mais suite aux recommendations d'un ami de crosoft
je m'adresse à vous car selon lui, ce forum est tres
réactif.

Je vous explique ma problématique :

j'ai deux tableaux :

l'un (sheet1) comporte une colonne avec un numéro "alpha"
et en face la colonne avec le nom de l'entreprise.

l'autre(sheet2) tableau est composé du fameux numéro
alpha, du nom de l'entreprise et du numero SIRET.

Le but de l'operation est de sortir tt les numéros SIRET
de la sheet 2 pour les coller en face de son
numero "Alpha"

sur la sheet 1.

Voici le shéma que j'ai imaginé pour l'opération ( je
rappelle que je suis un pur novice, mon idée est peut etre
idiote )

1-Sélection de du numéro "alpha" de la sheet 1
2-Trouver le même numéro "alpha" sur la sheet 2
3-selectionner le numéro SIRET correspondant
4-copier ce numero SIRET
5-coller le numero de SIRET sur la mm ligne que le
numéro "alpha" de la sheet 1
6-appliquer cette opération à tte la colonne
numéros "alpha" de la sheet 1

Alors si qqu à une solution pour m'éviter des dizaines
d'heures de copier coller entre sheet.ça me serait
extremement utile.

Merci d'avance

Guillaume


.



Avatar
Daniel
Pour un lancement automatique entre tes deux feuilles
quelconques, tu peux lancer cette macro-instruction
simplifiée :

Option Explicit

Sub appariercolonnes()
Dim i, k, maxa, maxc
Sheets("sheet2").Select
Columns("a:b").Select
Selection.Copy
Sheets("sheet1").Select
Range("c1").Select
ActiveSheet.Paste
Range("e1").Select
ActiveCell.Formula = "=COUNTIF(" & "a1:a65536"
& ","">'0000'"")"
maxa = Range("e1").Value
Range("e1").Clear
Range("f1").Select
ActiveCell.Formula = "=COUNTIF(" & "c1:c65536"
& ","">'0000'"")"
maxc = Range("f1").Value
Range("f1").Clear
If maxc > maxa Then
maxa = maxc
End If
k = 2
i = 2
Do While (i <= maxa) Or (k <= maxa)
Cells(i, "a").Select
Cells(k, "c").Select
If Cells(i, "a").Value = Cells(k, "c").Value Then
i = i + 1
k = k + 1
ElseIf Cells(i, "a").Value < Cells(k, "c").Value
Then
If Cells(i, "a").Value <> "" Then
Range("c" & CStr(k) & ":d" & CStr
(k)).Select
Selection.Insert Shift:=xlDown
i = i + 1
k = k + 1
maxa = maxa + 1
Else
Exit Do
End If
Else
If Cells(k, "c").Value <> "" Then
Range("a" & CStr(i) & ":b" & CStr
(i)).Select
Selection.Insert Shift:=xlDown
i = i + 1
k = k + 1
maxa = maxa + 1
Else
Exit Do
End If
End If
Loop
Range("a1").Select
End Sub


==> Exécute-la, pas à pas, pour bien la comprendre. Mais
je t'assure que'elle est très simplifiée.
A ta disposition.
-----Message d'origine-----
Bonjour,
Je suis un novice en ce qui concerne tte programmation
sur

excel, mais suite aux recommendations d'un ami de crosoft
je m'adresse à vous car selon lui, ce forum est tres
réactif.

Je vous explique ma problématique :

j'ai deux tableaux :

l'un (sheet1) comporte une colonne avec un numéro "alpha"
et en face la colonne avec le nom de l'entreprise.

l'autre(sheet2) tableau est composé du fameux numéro
alpha, du nom de l'entreprise et du numero SIRET.

Le but de l'operation est de sortir tt les numéros SIRET
de la sheet 2 pour les coller en face de son
numero "Alpha"

sur la sheet 1.

Voici le shéma que j'ai imaginé pour l'opération ( je
rappelle que je suis un pur novice, mon idée est peut
etre

idiote )

1-Sélection de du numéro "alpha" de la sheet 1
2-Trouver le même numéro "alpha" sur la sheet 2
3-selectionner le numéro SIRET correspondant
4-copier ce numero SIRET
5-coller le numero de SIRET sur la mm ligne que le
numéro "alpha" de la sheet 1
6-appliquer cette opération à tte la colonne
numéros "alpha" de la sheet 1

Alors si qqu à une solution pour m'éviter des dizaines
d'heures de copier coller entre sheet.ça me serait
extremement utile.

Merci d'avance

Guillaume
.