SamaiwaX
Messages postés19Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention18 août 2004
-
11 août 2004 à 14:53
ShadowWisp
Messages postés113Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention25 août 2004
-
12 août 2004 à 15:15
Bonjour, heum...j ai un gros probleme...bon allez je me jette a l eau.
J'aimerais pouvoir rechercher une donnée (un N° de serie) dans un autre classeur Excel dans une colonne bien precise ("A:A")
je rentre le N° de serie a chercher grace a une inputbox et je fait ouvrir le classeur. le reste j y arrive pas et ca fait 2 jours que je me casse la tete dessus. enfin si quelqu'un peut m aoder je lui en serait gré.
autre chose apres avoir trouver la ligne du N° de serie, est il possible de selectioner une cellule d une autre colonne de cette ligne (je sais c'est pas tres comprehensible). un pti exemple pour me faire comprendre: disons ke la donnee recherche se trouve a la cellule A8 mais en fait cela n est pas important vu que je veux importer les donne de la colonne E (E8 meme ici) donc voila
Je vous remercie d avance.
A voir également:
Rechercher des données dans un autre classeur excell
ShadowWisp
Messages postés113Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention25 août 20041 12 août 2004 à 14:02
Essayes :
dim ligne as integer
Application.Worksheets("sheet1").Activate
Range("a1").Activate
While ActiveCell.Row < Cells(65536, 1).End(xlUp).Row + 1
If ActiveCell.Value = partnumber Then
research = ActiveCell.adress
ligne=activecell.row
Cells(65536, 1).offset(1,0).activate
Else
ActiveCell.Offset(1, 0).Activate
End If
Wend
nicosne
Messages postés37Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention10 mai 2005 11 août 2004 à 16:42
pour moi tu fait un index, tu place en A2 par ex :
=EQUIV(A1;titre de ton classeur et de ta feuille!A:A;0)
A1 est l'emplacement ou tu met la valeur recherché dans ta feuille.
A:A veux dire que tu fais la recherche dans la colonne A du feuillet qui est indiqué juste avant.
Ensuite dans les cases que tu veux remplir avec les infos de ton autre classeur tu develope cette formule :
=SI(ESTNA(INDEX(titre de ton classeur et de ta feuille!A:A;resultat!$A2));"";INDEX(titre de ton classeur et de ta feuille!A:A;resultat!$A2))
Vous n’avez pas trouvé la réponse que vous recherchez ?
nicosne
Messages postés37Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention10 mai 2005 11 août 2004 à 16:42
pour moi tu fait un index, tu place en A2 par ex :
=EQUIV(A1;titre de ton classeur et de ta feuille!A:A;0)
A1 est l'emplacement ou tu met la valeur recherché dans ta feuille.
A:A veux dire que tu fais la recherche dans la colonne A du feuillet qui est indiqué juste avant.
Ensuite dans les cases que tu veux remplir avec les infos de ton autre classeur tu develope cette formule :
=SI(ESTNA(INDEX(titre de ton classeur et de ta feuille!A:A;resultat!$A2));"";INDEX(titre de ton classeur et de ta feuille!A:A;resultat!$A2))
ShadowWisp
Messages postés113Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention25 août 20041 12 août 2004 à 09:49
Dans ce cas la tu appelles une fonction qui sera
Private sub taFonction(taCondition as cequetuveux) as range
application.worksheets("tafeuille").activate
range("a1").activate
while activecell.row < cells(65536,1).end(xlup).row +1
if activecell.value=taCondition then
tafonction=activecell.range(la je suis pas tout a fait sur mais je crois que c'est ca)
exit sub
else
activecell.offset(1,0).activate
end if
wend
end sub
Il faut aussi rajouter un test au moment de faire le cells pour s'assurer que la ligne 65536 est pas utilisée, mais bon, en général, y'a peu de chances
SamaiwaX
Messages postés19Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention18 août 2004 12 août 2004 à 11:14
ok merci bcp pour ton aide shadow, la recherche s effectue tres bien, le seul probleme que je n comprend pas est que au moment de changer de colonne, excel freeze un bon coup et obliger de quitter en ferment excel a la dure
SamaiwaX
Messages postés19Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention18 août 2004 12 août 2004 à 11:51
'prise du partnumber et ouverture du fichier
partnumber = InputBox("Part number", "Give a part number")
Workbooks.Open Filename:="X:\Administration\Users\Jean-Paul\Spares Price Lists\2004\Changement prix au 01-01-04.xls"
Application.Worksheets("sheet1").Activate
'recherche
Application.Worksheets("sheet1").Activate
Range("a1").Activate
While ActiveCell.Row < Cells(65536, 1).End(xlUp).Row + 1
If ActiveCell.Value = partnumber Then
research = ActiveCell
Else
ActiveCell.Offset(1, 0).Activate
End If
Wend
'changement de colonne
ActiveCell.Offset(0, 4).Activate '(c est ici que excel freeze je pense bien)
price = ActiveCell.Value
Workbook.Open classeur
'retrouver le partumber
Application.Worksheets("sheet1").Activate
Range("b1").Activate
While ActiveCell.Row < Cells(65536, 1).End(xlUp).Row + 1
If ActiveCell.Value = partnumber Then
retrouve = ActiveCell
Else
ActiveCell.Offset(1, 0).Activate
End If
Wend
ActiveCell.Offset(0, 12).Activate
SamaiwaX
Messages postés19Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention18 août 2004 12 août 2004 à 13:26
oui classeur est en fait le workbook d ou on lance la macro
et en fait serai t il possible de ouvrir la sheet2 du workbook
sans mettre le nom exacte vu que cela change a chaque workbook (ce sont les numero de clients vu que c'est pour une entreprise que je fais ca)
SamaiwaX
Messages postés19Date d'inscriptionlundi 9 août 2004StatutMembreDernière intervention18 août 2004 12 août 2004 à 13:53
ok je n ai plus aucune erreur dans le code mais ai toujours excel qui se plante méchament juste apres avoir trouver le partnumber ds la premiere recherche. ca se passe a cette endroit du code:
'recherche
Application.Worksheets("sheet1").Activate
Range("a1").Activate
While ActiveCell.Row < Cells(65536, 1).End(xlUp).Row + 1
If ActiveCell.Value = partnumber Then
research = ActiveCell
Else
ActiveCell.Offset(1, 0).Activate
End If
Wend
'changement de colonne (EXCEL FOIRE A PARTIR D ICI)
price = ActiveCell.Offset(0, 4).Value
Workbook.Open classeur