Bonjour,
J'espère vraiment que vous allez pouvoir m'aider !!
J'ai un premier tableau qui est un TCD généré par Excel à double entrée :
Les télévendeurs en ligne et le type d'action menée en colonne
Il faut que je copie ces données et que je les colle dans un autre tableau également à double entrée (mêmes critères). Seulement dans ce dernier tableau, les colonnes ne sont pas forcément les mêmes que dans le premier. Il faut donc que :
Si le télévendeur1 est également dans le 2ème tableau alors je regarde le 1er critère colonne du 1er, regarde s'il est également dans le 2ème et alors seulement que copie/colle la donnée qui correspond.
J'ai écris ce programme qui fonctionne pour le 1er critère colonne mais qui ensuite tourne en boucle et ne génère plus rien.
Sub remplir()
Dim mois As String, annee As String, semaine As String, fic_journalier As String, rep As String
fic_journalier = "RESULTATS JOURNALIERS"
mois = InputBox("Sur quel mois ? (en toutes lettres)")
annee = InputBox("Sur quelle année")
semaine = InputBox("Sur quelle semaine (numéro de la semaine)")
Windows("REQUETE MARS.xls").Activate
Range("B5").Select
i = 1
j = 0
k = 0
l = 0
While Range("B5").Offset(0, l).Value <> " "
If Range("B5").Offset(0, l).Value = "APPEL1" Then
For i = 1 To 20
If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
Range("B6").Offset(j, 0).Copy
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).PasteSpecial
j = j + 1
k = k + 1
Else
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).Value = " "
Windows("REQUETE MARS.xls").Activate
k = k + 1
End If
l = l + 1
Next
Else
If Range("B5").Offset(0, l).Value = "APPEL2" Then
For i = 1 To 20
If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
Range("B6").Offset(j, 0).Copy
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).PasteSpecial
j = j + 1
k = k + 1
Else
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).Value = " "
Windows("REQUETE MARS.xls").Activate
k = k + 1
End If
l = l + 1
Next
End If
End If
Wend
End Sub
Pour mieux comprendre je vous joint un exemple des 2 tableaux en question.
Merci.
Auriane
J'espère vraiment que vous allez pouvoir m'aider !!
J'ai un premier tableau qui est un TCD généré par Excel à double entrée :
Les télévendeurs en ligne et le type d'action menée en colonne
Il faut que je copie ces données et que je les colle dans un autre tableau également à double entrée (mêmes critères). Seulement dans ce dernier tableau, les colonnes ne sont pas forcément les mêmes que dans le premier. Il faut donc que :
Si le télévendeur1 est également dans le 2ème tableau alors je regarde le 1er critère colonne du 1er, regarde s'il est également dans le 2ème et alors seulement que copie/colle la donnée qui correspond.
J'ai écris ce programme qui fonctionne pour le 1er critère colonne mais qui ensuite tourne en boucle et ne génère plus rien.
Sub remplir()
Dim mois As String, annee As String, semaine As String, fic_journalier As String, rep As String
fic_journalier = "RESULTATS JOURNALIERS"
mois = InputBox("Sur quel mois ? (en toutes lettres)")
annee = InputBox("Sur quelle année")
semaine = InputBox("Sur quelle semaine (numéro de la semaine)")
Windows("REQUETE MARS.xls").Activate
Range("B5").Select
i = 1
j = 0
k = 0
l = 0
While Range("B5").Offset(0, l).Value <> " "
If Range("B5").Offset(0, l).Value = "APPEL1" Then
For i = 1 To 20
If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
Range("B6").Offset(j, 0).Copy
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).PasteSpecial
j = j + 1
k = k + 1
Else
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).Value = " "
Windows("REQUETE MARS.xls").Activate
k = k + 1
End If
l = l + 1
Next
Else
If Range("B5").Offset(0, l).Value = "APPEL2" Then
For i = 1 To 20
If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
Range("B6").Offset(j, 0).Copy
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).PasteSpecial
j = j + 1
k = k + 1
Else
Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
Range("C5").Offset(k, 0).Value = " "
Windows("REQUETE MARS.xls").Activate
k = k + 1
End If
l = l + 1
Next
End If
End If
Wend
End Sub
Pour mieux comprendre je vous joint un exemple des 2 tableaux en question.
Merci.
Auriane
Pièces jointes
-
REQUETE MARS EXEMPLE.xls234.5 KB · Affichages: 31
-
RESULTATS JOURNALIERS mars 2013 S11 EXEMPLE.xls15 KB · Affichages: 29
-
REQUETE MARS EXEMPLE.xls234.5 KB · Affichages: 34
-
RESULTATS JOURNALIERS mars 2013 S11 EXEMPLE.xls15 KB · Affichages: 29
-
REQUETE MARS EXEMPLE.xls234.5 KB · Affichages: 28
-
RESULTATS JOURNALIERS mars 2013 S11 EXEMPLE.xls15 KB · Affichages: 31