[vba xsl] extraire l'adresse d'une ligne

Résolu/Fermé
tinkietlaguinguette - 3 juil. 2008 à 08:22
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 - 3 juil. 2008 à 11:13
Bonjour le forum,
je galere sur un petit programme depuis des heures et je suis completement bloque la.
en fait, je veux que pour chaque ligne d'une colone sur une feuille, la macro verifie si l'intitulé existe déja sur une deuxieme feuille, et la, si oui, ajouter la valeur correspondant a l'intitulé a la valeur deja existante, si non, ajouter une entrée avec l'intitulé et la valeur.
Pour la deuxieme partie je suis bon, mais la premiere, je bloque : quand il trouve la valeur existante, je n'arrive pas a lui faire sortir la valaur correspondant a l'adresse de la ligne ou se situe mon intitulé pré-existant, pour qu'il puisse par la suite ajouter la valeur dans la bonne case.
j'espere que le probleme est suffisament bien posé... c'est un peu complexe :(

voila mon code (pour le moment):
Do
Sheets("Cpd1 Lot Rep").Select
Cells(n1, 3).Select
If ActiveCell.Text = "" Then
Exit Do
Else
If Sheets("Gradewise").Cells.Find(what:=Sheets("Cpd1 Lot Rep").Cells(n1, 3).Text) Is Nothing Then
Sheets("Cpd1 Lot Rep").Select
Cells(n1, 3).Select
Selection.Copy Sheets("Gradewise").Cells(m, 9)
Sheets("Cpd1 Lot Rep").Select
Cells(n1, 4).Select
Selection.Copy Sheets("Gradewise").Cells(m, 4)
bags = Sheets("Gradewise").Cells(m, 4).Value
kg = bags * 0.025
Sheets("Gradewise").Cells(m, 4).Value = kg
m = m + 1
n1 = n1 + 1
Else
ro = Rows.Address
bags = Sheets("Cpd1 Lot Rep").Cells(n1, 4).Value
previousvalue = Sheets("Gradewise").Cells(ro, 4).Value
kg = bags * 0.025 + previousvalue
Sheets("Gradewise").Cells(ro, 4).Value = kg
n1 = n1 + 1
End If
End If

voila, un grand merci d'avance a tous ceux qui pourraient m'aider !
End If
Loop
A voir également:

3 réponses

CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
3 juil. 2008 à 10:49
Perso j'aurai pas pris le programme dans ce sens. fais d'abord une boucle sur ton fichier 1 sur tout tes lignes de ta colonne.
et sur chaque cellule tu verifie dans la feuille 2 si l'intitulé existe; si non tu passe a la cellule suivante; si ou grace au compteur de ta boucle aucun probleme pour copier la valeur
0
tinkietlaguinguette
3 juil. 2008 à 11:08
Finalement j'ai réussi, en utilisant la commande
Else
ro = Mid(Sheets("Gradewise").Cells.Find(what:=Sheets("Cpd1 Lot Rep").Cells(n1, 3).Text).Address, 4, 1)
en fait le probleme etait que l'adresse de la ligne etait innexploitable, du coup j'ai isolé la coordonnée "ligne" de la cellule, ca marche niquel. j'ai fais un test avec 60 lignes a scanner sans aucun probleme.
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
3 juil. 2008 à 11:13
GG
0