| ||||||||
Petit astucien | Bonsoir, les champions (et les autres). A partir d'un document Word, je cherche à retrouver son nom dans un répertoire de documents qui est un classeur Excel. J'arrive bien à ouvrir le dit classeur mais ma fonction de recherche bugue (Erreur d'exécution 91: Variable objet ou variable de bloc with non définie). J'ai beaucoup cherché, mais je sèche. Ci-dessous mon code: en gras, là où ça bugue. Où est-il foireux? Dim appExcel As Excel.Application, rResult As Range (entre autres) ... Set appExcel = New Excel.Application appExcel.Visible = True With appExcel nomfichier = Mid(section, 1, 2) & "RepDoc.xls" clerep = **** appExcel.Workbooks.Open FileName:=cheminRep & nomfichier, ReadOnly:=False, _ Password:=****, Notify:=True ' Application.ScreenUpdating = False appExcel.Workbooks(nomfichier).Activate .Sheets("Répertoire").Activate .Columns("E:E").Select With Selection On Error Resume Next Set rResult = appExcel.ActiveSheet.Cells.Find(what:=nomdoc, After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False) If rResult Is Nothing Then GoTo ErreurIdentif End With
.rResult.Select 'etc
Merci d'avance pour vos avis compétents. Bonne soirée Deb
| |||||||
Publicité | ||||||||
| ||||||||
Petit astucien ![]() | ||||||||
Petit astucien | Bonsoir, CuisinePC. Merci de tes liens que je vais étudier de près. Mais je ne suis pas sûr que ce soit la solution: mon code fonctionne très bien dans une macro lancée à partir d'un classeur Excel. C'est quand je veux lancer ce même code à partir d'une macro contenue dans un document Word que ça bugue, mais seulement après la sélection correcte de la colonne E. As-tu étudié mon code? Qu'est-ce que je n'ai pas défini? En tout cas, merci de ta participation. Je remettrai un post pour t'informer de la résolution du problème, quand je l'aurai confirmée. Cordialement. deb | |||||||
Petit astucien | Bonjour à tous. Bon! Les liens de CuisinePC ne m'ont pas beaucoup éclairé et mes essais avec cells.find ou selection.find ne fonctionnent pas quand ils sont appelés dans une macro Word, alors qu'ils fonctionnent quand ils sont appelés dans une macro Excel. Pourquoi ??? En attendant, j'ai contourné le problème avec une fonction do until ... loop qui passe, une par une, les cellules sous la condition recherchée. Ça fonctionne, mais je trouve cela moins élégant (et peut-être plus lent, s'il y a beaucoup d'entrées dans la colonne?). Je laisse le sujet ouvert pour le moment. Peut-être quelqu'un pourra résoudre ce problème de Find. Cordialement. Bonne fin d'année à tous! deb | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||
|