[EXCEL] Transfert de données entre 2 tableaux
ANTOHCDTony
-
Viouu Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Viouu Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Transfert données entre deux fichiers excel
- Nombre de jours entre deux dates excel - Guide
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Fusionner deux fichiers excel - Guide
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
@+
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
@+
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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