gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008
-
19 févr. 2008 à 14:42
gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008
-
20 févr. 2008 à 08:37
Bonjour à tous,
Bon j'ai un problème assez compliqué, et je commence vraiment à fatiguer alors...soyez indulgents svp ;-).
Bon en gros j'ai deux fichiers Excel (fichier A et B). En gros, je voudrais que dans A, il teste l'égalité d'une suite de cellules en colonne, avec une suite de cellule en ligne dans le fichier B (de longueur identique). Si l'égalité est vraie, alors copier la valeur qu'il y a 3 ligne en-dessous de la cellule de B, et la copier juste à droite de la colonne de A (colonneA+1). Savez-vous s'il y a moyen de faire celà? Je ne sais pas si j'ai été suffisament clair, j'avoue que je commence à m'embrouiller moi-même donc ça ne doit vraiment pas être évident à comprendre, j'en conviens.
Voici le code (brut) ou j'essaye juste de copier une des cellules, mais mes boucles sont-elles correctes?
For i = 3 To ColFin
TestPct1 = Range(Cells(2, i)).Value
Windows("Essai.xls").Activate
'Selection.End(xlDown).Select
'LigneFin = ActiveCell.Row
LigneFinEssai = 37
For j = 28 To LigneFinEssai
TestPct2 = Range(Cells(j, 4)).Value
If (TestPct1 = TestPct2) Then
'Essai avec cellule C21 dans cellule G28'
Windows("Totaux_2007_prevision_base12.xls").Activate
VarCellule = Range("C21")
Windows("Essai.xls").Activate
Range("G28") = VarCellule
'Range(Cells(28, 7), Cells(28 + i - 3, 7)) = VarCellule
End If
Next
Next
Un grand merci d'avance!!!
A voir également:
Copier coller de cellules entre fichiers suivant condition
nanardino64
Messages postés131Date d'inscriptionvendredi 18 août 2006StatutMembreDernière intervention17 mars 2010 19 févr. 2008 à 19:22
Salut,
c'est pas clair du tout même
en fait si la cellule de A et la cellule de B ont la même valeur tu veux recopier cette valeur à droite de la cellule de A et trois lignes en dessous de la cellule de B ? Pourquoi faire ?
Et puis tu veux comparer la cellule "A1" de A avec toutes les cellules de B ou la cellule "A1" de A avec "A1" de B puis "A2" de A avec "B1" de B... à préciser
i=1 et j=1 ne sert à rien vu que tu leur donnes une valeur avec ta boucle
TestPct1 = Range(Cells(2, i)).Value, range ne sert à rien soit tu l'utilises pour nommer les cellules avec a, b, c... soit pour définir une plage de cellule en le combinant avec Cells mais pas pour une seule cellule
--> TestPct1 = Cells(2, i).Value
Utilises workbooks à la place de windows et aussi tu n'as pas besoin d'activer ton classeur, il suffit de lui dire où regarder : workbooks("").sheets("").cells(i,j) alors que dans ton code on ne voit pas de nom de feuilles
du coup VarCellule ne sert à rien
For i = 3 To ColFin
TestPct1 = Cells(2, i).Value
Windows("Essai.xls").Activate
LigneFinEssai = 37
For j = 28 To LigneFinEssai
TestPct2 = Cells(j, 4).Value
If TestPct1 = TestPct2 Then
'Essai avec cellule C21 dans cellule G28'
Workbooks("Essai.xls").sheets("???").Range("G28") .Value=Workbooks("Totaux_2007_prevision_base12.xls").sheets("???").Range("C21").Value
gregorydekimpe
Messages postés8Date d'inscriptionmercredi 13 février 2008StatutMembreDernière intervention20 février 2008 20 févr. 2008 à 08:37
Merci beaucoup de ton aide! En fait je voulais tester si une donnée (dans un "vecteur ligne") du fichier A était égale à une donnée (d'un "vecteur colonne") du fichier B, et si tel était le cas, recopier ce qu'il y avait 3 lignes en-dessous de Ai (i=1,...,n), donc Di (tout cela du fichier A), dans une colonne à droite de mon "vecteur colonne" du fichier B. Je ne sais pas si c'est bcp plus clair, c'est compliqué à expliquer, mais en tous cas après quelques bidouillages ta solution m'a bien aidée!