[EXCEL] Transfert de données entre 2 tableaux

Fermé
ANTOHCDTony - 12 déc. 2007 à 08:34
Viouu Messages postés 11 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007 - 13 déc. 2007 à 14:13
Bonjour,

J'ai besoind 'une petite aide dans le cadre d'une tache que je dois effectuer sous EXCEL.
J'ai un tableau excel avec une liste d'adresse dans la quelle je dois ajouter des infos (trouver les syndic , etc).

Pour ce faire , j'ai divisé le tableau en 8 et je l'ai transmis aux 8 personnes employées pour prospecter.

Tous les jours je dois recopier les informations trouvées dans les 8 tableaux dans le récap d'origine et le renvoyer au client.

Sachant qu'il y a pour chaque adresse une colonne qui correspond a un identifiant unique, y aurait il un moyen de mettre en place un systeme permettant a excel d'extraire dans chaque sous-tableau les adresse et de les recopier dans le récapitulatif suivant le numero d'identification unique ?


Cordialement,

Anthony NOEL
hotline SOGETREL
A voir également:

25 réponses

erreur de copier coller
le veritable syntaxe est la dessous
Sub COMPAR()

'
Dim VALEURA As String, i As Integer, x As Integer, valeurB As String
i = 1
VALEURA = Range("A" & i).Value
Do While VALEURA <> ""
VALEURA = Range("A" & i).Value
If valeurB <> "" Then
Sheets("Feuil2").Select
x = 1
valeurB = Range("A" & x).Value
Do While VALEURA <> valeurB
x = x + 1
valeurB = Range("A" & x).Value
Loop
'la tu notes que le x est constant. Tu peux donc explorer la valeur de la cellule Fx
If Range("F" & x).Value <> "" Then
Range("o" & x).Select
Selection.Copy
Sheets("Feuil1").Select
Range("g" & i).Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("p" & x).Select
Selection.Copy
Sheets("Feuil1").Select
Range("h" & i).Select
ActiveSheet.Paste
End If
End If
i = i + 1
Loop
End Sub

voila: l idee est
tu lis la cellule A1 tu cherche fdans A Feuil2 la 1ere correspondance.
tu en trouves 1, tu testes F vide si non vide tu copies, puis tu boucle pour trouver la 2eme occurence etc....
quand tu arrives en fin de liste col A feuil2, tu retournes en feuil1 et tu passes en A2 etccc
@+
0
Viouu Messages postés 11 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007
12 déc. 2007 à 23:09
Merci j'etait parti la dessus

Sub COMPAR()

'declaration des variables'
Dim VALEURA As String, i As Integer, x As Integer, valeurB As String

'i correspondra au numeros de ligne dans la feuille 1'
i = 2

'continuer tant que i n'est pas egal à 4900'
Do While i <> "4900"

'donner une valeur de départ à VALEURA, valeura=le contenue de A2'
VALEURA = Range("A" & i).Value

'activer la feuille 2'
Sheets("Feuil2").Select

'x correspond au numeros de ligne dans la feuille 2'
x = 2

'donner une valeur de depart a valeurb'
valeurB = Range("A" & x).Value

'comparer valeura et valeurb, tant que faux incrementer x de 1'
Do While VALEURA <> valeurB
x = x + 1
valeurB = Range("A" & x).Value
Loop


'si la cellule Lx = quelque chose alors on copy la ligne'
If Range("L" & x).Value <> "" Then
Range("L" & x).Select
Selection.Copy
Sheets("Feuil1").Select
Range("J" & i).Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("O" & x).Select
Selection.Copy
Sheets("Feuil1").Select
Range("M" & i).Select
ActiveSheet.Paste
End If

'on incremente i de 1'
i = i + 1

'on continue les fonction d'avant jusqu'a ce que i=4900'
Loop

End Sub

Viouu
0
Viouu Messages postés 11 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007
12 déc. 2007 à 23:18
ce passe rien quand j'execute ton code

Cdlt

Viouu
0
Viouu Messages postés 11 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007
13 déc. 2007 à 00:58
Bon j'ai trouver le souci en faite il se peut que A feuilA ne trouve pas de correspondace dans Afeuil2

La feuil1 possede 5000 lignes et la feuil2 aussi

Comment faire pour que lors de la boucle suivante qu'il arrete la comparaison a X=5000 et que si il ne trouve pas de comparaison valeur A et valeur B il passe a i=i+1

Do While VALEURA <> valeurB
x = x + 1

valeurB = Range("A" & x).Value


Loop


Viouu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Viouu Messages postés 11 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 13 décembre 2007
13 déc. 2007 à 14:13
Voila le code final si peut aider du monde


Sub COMPAR()

'declaration des variables'
Dim VALEURA As String, valeurB As String ' string pour chaine de charactére different'
Dim i As Integer, x As Integer, ' Integer pour dire que i et x sont des entier'

'i correspondra au numeros de ligne de depart dans la feuille 1'
i = 2

'continuer tant que i n'est pas egal à 5000 car j'ai 500 pour eviter de boucler à l'infini'
Do While i <> "5003"

'donner une valeur de départ à VALEURA, valeura=le contenue de A2'
VALEURA = Range("A" & i).Value

'activer la feuille 2'
Sheets("Feuil2").Select

'x correspond au numeros de ligne dans la feuille 2'
x = 2

'donner une valeur de depart a valeurb'
valeurB = Range("A" & x).Value

'comparer valeura et valeurb, tant que faux incrementer x de 1'

Do While VALEURA <> valeurB
x = x + 1

'si X=5000 passer la boucle'

If x = 5003 Then GoTo l49

valeurB = Range("A" & x).Value
Loop


'si la cellule Lx = quelque chose alors on copy la ligne'

If Worksheets("Feuil2").Range("L" & x).Value <> "" Then
Worksheets("Feuil1").Range("J" & i).Value = Worksheets("Feuil2").Range("L" & x)

End If

'on incremente i de 1'
l49: ' etiquette pour le goto
i = i + 1

'on continue les fonction d'avant jusqu'a ce que i=5000'
Loop

End Sub



Merci à tous pour votre aide
0