Selectionner la ligne d'une cellule?

ffak Messages postés 5 Date d'inscription mercredi 11 septembre 2002 Statut Membre Dernière intervention 13 septembre 2002 - 12 sept. 2002 à 09:37
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004 - 12 sept. 2002 à 12:36
Bonjour,

je souhaite, sous VB/access, lorsque j'appuie sur mon bouton, sélectionner la cellule "total" de mon tableau excel, ceci afin d'ajouter une ligne pour ajouter un enregistrement(et décaller donc "total" une ligne plus bas)
Comment faire pour demander la sélection de la ligne où se trouve le focus?
Merci beaucoup.

6 réponses

ffak Messages postés 5 Date d'inscription mercredi 11 septembre 2002 Statut Membre Dernière intervention 13 septembre 2002
12 sept. 2002 à 11:05
Jai fait ceci, ca fonctionne une fois mais à la seconde fois excel plante...je vois pas le bug
Merci!

Private Sub Cmdlancerxls_Click() 'Procédure de lancement du fichier de MAJ .
Dim Feuille As Excel.Worksheets
Dim n As Integer

Classeur.Workbooks.Open "C:\xxx\abc.xls"

Classeur.Visible = True

Classeur.Application.Sheets("sheet1").Select
'selection feuille
Columns("A:A").Select
'selection colonne
Cells.Find(What:="Total", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True).Activate
'cherche la cellule avec "total"

Rows(ActiveCell.Row).Select
'rends active la ligne de la cellule
0
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
12 sept. 2002 à 11:18
'Soit XlApp, l'appli Excel
'Soit NomClasseur, le nom du classeur excel
'Soit NomFeuille, le nom de la feuille excel
'Soit LigneTotal, la ligne du total

'Pour insérer une ligne au dessus de la ligne contenant la cellule Total
XlApp.WorkBooks(NomClasseur).WorkSheets(NomFeuille).Rows(LigneTotal).Insert

'Pour insérer une ligne au dessus de la cellule active (qui possède le focus)
XlApp.ActiveCell.EntireRow.Insert
0
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
12 sept. 2002 à 11:28
'Qu'entends tu par Excel plante ?
'Pour mieux controler excel, déclare l'application
'Dans le menu du module, cocher Outils/Références.../Microsoft Excel X.X Object Library

'Déclarer l'appli excel
Dim XlApp As Excel.Application

'Instancier l'appli excel
Set XlApp = New Excel.Application

'Ouvrir le classeur
XlApp.WorkBooks.Open "C:\xxx\abc.xls"

'Rendre l'appli excel visible
XlApp.Visible = True

'Faire tes traitements
With XlApp.WorkBooks(1).WorkSheets("sheet1")

.Select
'selection feuille

.Columns("A:A").Select
'selection colonne

.Cells.Find(What:="Total", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True).Activate
'cherche la cellule avec "total"

.Rows(ActiveCell.Row).Select
'rends active la ligne de la cellule

End With
0
ffak Messages postés 5 Date d'inscription mercredi 11 septembre 2002 Statut Membre Dernière intervention 13 septembre 2002
12 sept. 2002 à 11:54
Merci de l'aide.
Quand je dis que excel plante, c'est faux :-)
Le code fonctionne une fois, excel s'ouvre et modifie la feuille en ajoutant une ligne au dessus de la cellule total.
A la seconde utilisation, le classeur est verrouillé (?) et aucun modif n'est possible.
Au secours! :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
12 sept. 2002 à 12:36
Si le classeur est verrouillé c'est qu'il est peut être déjà ouvert et que tu l'a ouvert une deuxieme fois (en lecture seule) sur une autre instance excel.

Pour éviter de gérer plusieurs applications excel, "remonte" la variable xlapp au niveau du module

'Créer une seule fois l'appli excel
If XlApp is Nothing Then
Set XlApp = New Excel.Application
XlApp.Visible = True
End If
XlApp.WorkBooks.Open "C:\xxx\abc.xls"

Ou bien ferme le classeur et l'application excel après utilisation

Ou bien regarde si le classeur est en lecture seule et notifie le
If XlApp.WorkBooks("abc.xls").ReadOnly = True Then MsgBox "Fermer le classeur" (pas terrible)
0
cs_imer Messages postés 59 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 29 janvier 2004
12 sept. 2002 à 12:36
Si le classeur est verrouillé c'est qu'il est peut être déjà ouvert et que tu l'a ouvert une deuxieme fois (en lecture seule) sur une autre instance excel.

Pour éviter de gérer plusieurs applications excel, "remonte" la variable xlapp au niveau du module

'Créer une seule fois l'appli excel
If XlApp is Nothing Then
Set XlApp = New Excel.Application
XlApp.Visible = True
End If
XlApp.WorkBooks.Open "C:\xxx\abc.xls"

Ou bien ferme le classeur et l'application excel après utilisation

Ou bien regarde si le classeur est en lecture seule et notifie le
If XlApp.WorkBooks("abc.xls").ReadOnly = True Then MsgBox "Fermer le classeur" (pas terrible)
0
Rejoignez-nous