[vba xsl] extraire l'adresse d'une ligne
Résolu
tinkietlaguinguette
-
CapitainCo Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
CapitainCo Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
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
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:
- [vba xsl] extraire l'adresse d'une ligne
- Darkino nouvelle adresse - Guide
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Adresse mac - Guide
- Créer une adresse hotmail - Guide
3 réponses
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
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
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.
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.