Selection de la colonne correspondant au nom place dans une autre colonne

Résolu
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005 - 21 sept. 2005 à 15:55
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 - 23 sept. 2005 à 14:37
Bonjour a tous,

voila mon probleme,
je voudrais appele la cellule situee dans la colonne D qui correspond a une cellule non fixe dans la colonne A mais qui contient le nom "fi_creditracer_eb_detail".
Ensuite je voudrais copier la valeur de cette fameuse cellule en D dans les cellules D qui correspondent aux noms "fi_creditracer_rechner_antrag" et "fi_creditracer_rechner_detail" situes dans la colonne A: vous me suivez?
Voici mon code, je ne trouve pas de solution... qqn aurait-il une idee?
Merci davance

Sub korrigierung2()


Dim i
Dim Countername_CRKopie(2) As String


Countername_CRKopie(1) = "fi_creditracer_rechner_antrag"
Countername_CRKopie(2) = "fi_creditracer_rechner_detail"


For i = 1 To Sheet_Quelle_Ende


If Sheets("Sheet_Quelle").Range(c & i).Value = "fi_creditracer_eb_detail" Then
Range("fi_creditracer_eb_detail" & col("D")).Select
Selection.Copy
End If
If Range(c & i).Value = "Countername" Then
Range("Countername" & col("D")).Select
Selection.Paste

End If
Next i




End Sub

14 réponses

Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
22 sept. 2005 à 12:09
Voilà qui devrait pouvoir t'aider

Sub korrigierung2()
Dim i As Integer, j As Integer
Dim MaVariable1 As String, MaVariable2 As String, MaVariable3 As String
Dim MaDate As String, Result As String


MaVariable1 = "fi_creditracer_rechner_antrag"
MaVariable2 = "fi_creditracer_rechner_detail"
MaVariable3 = "fi_creditracer_eb_detail"


' Trie de la plage de donnée
Worksheets(1).Range("A1:D20").Sort _
Key1:=Worksheets(1).Range("C1"), _
Key2:=Worksheets(1).Range("B1")
' Affecte le format Text à la colonne D pour éviter les convertion numérique automatique d'excel
Columns("D:D").Select
Selection.NumberFormat = "@"

' Première boucle
For i = 1 To 20
With Worksheets(1)
If .Cells(i, 3).Value = MaVariable3 Then
MaDate = .Cells(i, 2).Value
Result = .Cells(i, 4).Value
For j = i + 1 To 20 If .Cells(j, 3).Value MaVariable2 And .Cells(j, 2).Value MaDate Then
.Cells(j, 4).Value = Result ElseIf .Cells(j, 3).Value MaVariable1 And .Cells(j, 2).Value MaDate Then
.Cells(j, 4).Value = Result
End If
Next j
End If
End With
Next i
End Sub

A oui j'allais oublier! Biensur tu n'oubliera pas de remplacer
For i 1 To 20 par For i 1 To 20 = 1 To Sheet_Quelle_Ende
et For j i + 1 To 20 par For j i + 1 To Sheet_Quelle_Ende
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
22 sept. 2005 à 12:12
Sans oublier
' Trie de la plage de donnée
Worksheets(1).Range("A1:D" & Sheet_Quelle_Ende).Sort _

Voilà je pense ne rien avoir oublier cette fois.
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
23 sept. 2005 à 14:34
Oui en effet j'ai constaté le problème. Pour y recourir il te suffit de modifier la seconde boucle comme si dessous


For j = i To Sheet_Quelle_Ende

voilà! ce devrait être bon cette fois
3
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
21 sept. 2005 à 16:23
Houai! Et bien désolé mais j'ai rien compris. Quel est le problème que tu rencontre, y a t il un message d'erreur et que veut tu faire exactement?
0

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

Posez votre question
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005
21 sept. 2005 à 16:50
ok je la refais moins crispee...

je voudrais copier le contenu d'une cellule situé ds la colonne D (cf par exemple chiffres ds tableau ci-dessous) dans d'autres cellules situés dans la meme colonne. Le probleme est que ces cellules n'ont pas de lignes fixes, cad qu'elles correspondent seulement à un nom précis dans la colonne A (ici en l'occurence"
<COLGROUP>
<COL width=272>
<COL width=71>
<COL width=107>

----

fi_creditracer_rechner_antrag" que je voudrais copier dans les cellules en colD qui correspondent au nom "fi_creditracer_rechner_detail")

Autrement dit, cette liste est issue de l'actualisation dúne BBD externe a excel et que chaque semaine ces donnees changent de place. je ne peux me fier que a leur nom situe en colonne A


<COLGROUP>
<COL width=272>
<COL width=71>
<COL width=107>

----

fi_creditracer_rechner_antrag,
0,
17,
----

fi_creditracer_rechner_antrag,
0,
20,
----

fi_creditracer_rechner_antrag,
0,
33,
----

fi_creditracer_rechner_antrag,
0,
12,
----

fi_creditracer_rechner_antrag,
0,
19,
----

fi_creditracer_rechner_antrag,
0,
14,
----

fi_creditracer_rechner_antrag,
0,
29,
----

fi_creditracer_rechner_detail,
0,
462

fi_creditracer_rechner_detail,
,
462

fi_creditracer_rechner_detail,
,
462

si c tjs pas clair, nhesites pas a me le faire savoir...
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
21 sept. 2005 à 22:51
Bonsoir,

Euh... bah pour moi, c'est pas vraiment encore super clair... Mais bon... en gros j'entrevois... enfin presque...

Je crois comprendre que sur ton exemple, tu veux recopier la première valeur de la colonne D (ici 17 ?) qui fait corresponde en colonne A au mot clé fi_creditracer_rechner_antrag, dans chaque cellule de la colonne D en dessous qui ont le même mot clé dans la colonne A... Alors, si je comprends bien, il me semble que cela n'est pas trés compliqué en VBA... Mais est-ce bien ça ?

Si oui, alors je reviendu pour t'aider ! Voilu !

Amicalement,
Us.
0
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005
22 sept. 2005 à 09:43
Bonjour!


Alors c' est pas tout a fait ca, ms presque....! ma faute, jexplique mal et avec un mauvais exemple...


en fait je veux recopier ttes les valeurs de la colonne D qui correspondent en colonne C aux mots cles fi_creditracer_eb_detail (generalement il y en a 7, car cest une actualisation hebdomadaire, cad 1 valeur par jour), dans chaque cellule de la colonne D qui correspondent en colonne C aux mots cles fi_creditracer_rechner_antrag et fi_creditracer_rechner_detail.
Car en fait cest une erreur du serveur, ce sont les memes valeurs theoriquement, mais il oublie de les compter, a moi de corriger cela, voila!


<COLGROUP>
<COL width=57>
<COL width=71>
<COL width=272>
<COL width=71>

----

Mo
,
05.09.2005
,
fi_creditracer_eb_detail
,
31.542
,
----

Tu
,
06.09.2005
,
fi_creditracer_eb_detail
,
30.772
,
----

We
,
07.09.2005
,
fi_creditracer_eb_detail
,
31.453
,
----

Th
,
08.09.2005
,
fi_creditracer_eb_detail
,
31.448
,
----

Fr
,
09.09.2005
,
fi_creditracer_eb_detail
,
30.162
,
----

Sa
,
10.09.2005
,
fi_creditracer_eb_detail
,
31.063
,
----

Su
,
11.09.2005
,
fi_creditracer_eb_detail
,
39.044


<COLGROUP>
<COL width=57>
<COL width=71>
<COL width=272>
<COL width=71>

----

Mo
,
05.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Tu
,
06.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

We
,
07.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Th
,
08.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Fr
,
09.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Sa
,
10.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Su
,
11.09.2005
,
fi_creditracer_rechner_antrag
,
0


<COLGROUP>
<COL width=57>
<COL width=71>
<COL width=272>
<COL width=71>

----

Mo
,
05.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Tu
,
06.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

We
,
07.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Th
,
08.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Fr
,
09.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Sa
,
10.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Su
,
11.09.2005
,
fi_creditracer_rechner_detail
,
0

Merci pour ton attention Us, cest sympa de ta part!!
Bises
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
22 sept. 2005 à 12:09
Voilà qui devrait pouvoir t'aider

Sub korrigierung2()
Dim i As Integer, j As Integer
Dim MaVariable1 As String, MaVariable2 As String, MaVariable3 As String
Dim MaDate As String, Result As String


MaVariable1 = "fi_creditracer_rechner_antrag"
MaVariable2 = "fi_creditracer_rechner_detail"
MaVariable3 = "fi_creditracer_eb_detail"


' Trie de la plage de donnée
Worksheets(1).Range("A1:D20").Sort _
Key1:=Worksheets(1).Range("C1"), _
Key2:=Worksheets(1).Range("B1")
' Affecte le format Text à la colonne D pour éviter les convertion numérique automatique d'excel
Columns("D:D").Select
Selection.NumberFormat = "@"

' Première boucle
For i = 1 To 20
With Worksheets(1)
If .Cells(i, 3).Value = MaVariable3 Then
MaDate = .Cells(i, 2).Value
Result = .Cells(i, 4).Value
For j = i + 1 To 20 If .Cells(j, 3).Value MaVariable2 And .Cells(j, 2).Value MaDate Then
.Cells(j, 4).Value = Result ElseIf .Cells(j, 3).Value MaVariable1 And .Cells(j, 2).Value MaDate Then
.Cells(j, 4).Value = Result
End If
Next j
End If
End With
Next i
End Sub

A oui j'allais oublier! Biensur tu n'oubliera pas de remplacer
For i 1 To 20 par For i 1 To 20 = 1 To Sheet_Quelle_Ende
et For j i + 1 To 20 par For j i + 1 To Sheet_Quelle_Ende
0
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005
22 sept. 2005 à 15:24
SAlut Tuning Max,

merci beaucoup pour la solution...jai juste un bugg au niveau de
Worksheets(1).Range("A1:D20").Sort _
Key1:=Worksheets(1).Range("C1"), _
Key2:=Worksheets(1).Range("B1")
mais je pense ke c juste un pb soit de :, soit de continuite de ligne...
je ne minkiete plus, je te confirmerai qd meme si ca marche plus tard

Bises
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
22 sept. 2005 à 15:47
Ce fut un plaisir !
Sinon pour le bug cela peut venir de la version d'excel que tu utilise. J'ai en effet fait la fonction sous office 2003. Il est possible que si ta version est différente il y ai quelques légère modifications de syntaxe à apporte. En même temps le trie n'est pas obligatoire si ton tableau est toujours formaté de la même manière et que "fi_creditracer_eb_detail" est toujours placé en premier

A une prochaine fois
0
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005
22 sept. 2005 à 15:59
Autant pour moi, erreur de recopiage...!


Mais je trouve ca genial, car c vrai que je nai jamais ete une pro de la programmation, je sais que tu dois faire parti des passionne, mais en fait, vos codes, en tt cas pour ce ke je cherche a faire, sont tres comprehensibles et ca je trouve ca geniale! je crois quil me manque encore beaucoup de voca prog... ca aide pas!

Merci enormement encore!

Aller, j'irai trinker une biere a ta sante, cest l'Oktoberfest en ce moment!!!
la_bavaroise from Munich
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 sept. 2005 à 22:09
Bien... bien... ben, j'ai tout de même eu la bise ! Tata..ta !

Amicalement,
Us.
0
la_bavaroise Messages postés 24 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2005
23 sept. 2005 à 13:52
Bonjour les gars,

derniere petite question et ce sera tout,


la macro de Tunning max fonctionne tres bien, mais ne fonctionne pas pour les donnees que je veux recopier situes au dessus du mot: que dois-je faire?


Mo
,
05.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Tu
,
06.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

We
,
07.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Th
,
08.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Fr
,
09.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Sa
,
10.09.2005
,
fi_creditracer_rechner_detail
,
0
,
----

Su
,
11.09.2005
,
fi_creditracer_rechner_detail
,
0


<COLGROUP>
<COL width=57>
<COL width=71>
<COL width=272>
<COL width=71>

----

Mo
,
05.09.2005
,
fi_creditracer_eb_detail
,
31.542
,
----

Tu
,
06.09.2005
,
fi_creditracer_eb_detail
,
30.772
,
----

We
,
07.09.2005
,
fi_creditracer_eb_detail
,
31.453
,
----

Th
,
08.09.2005
,
fi_creditracer_eb_detail
,
31.448
,
----

Fr
,
09.09.2005
,
fi_creditracer_eb_detail
,
30.162
,
----

Sa
,
10.09.2005
,
fi_creditracer_eb_detail
,
31.063
,
----

Su
,
11.09.2005
,
fi_creditracer_eb_detail
,
39.044


<COLGROUP>
<COL width=57>
<COL width=71>
<COL width=272>
<COL width=71>

----

Mo
,
05.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Tu
,
06.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

We
,
07.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Th
,
08.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Fr
,
09.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Sa
,
10.09.2005
,
fi_creditracer_rechner_antrag
,
0
,
----

Su
,
11.09.2005
,
fi_creditracer_rechner_antrag
,
0

Merci davance...
0
Tuning Max Messages postés 314 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 31 août 2006 1
23 sept. 2005 à 14:37
Désolé j'ai fais une faute de frape c'est plutot


For j = 1To Sheet_Quelle_Ende
0
Rejoignez-nous