la_bavaroise
Messages postés24Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 novembre 2005
-
21 sept. 2005 à 15:55
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 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
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
A voir également:
Selection de la colonne correspondant au nom place dans une autre colonne
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 20061 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
' 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
la_bavaroise
Messages postés24Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 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
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 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 ?
la_bavaroise
Messages postés24Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 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!
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 20061 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
' 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
la_bavaroise
Messages postés24Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 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
Tuning Max
Messages postés314Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention31 août 20061 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
la_bavaroise
Messages postés24Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 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