Selectionner la ligne d'une cellule?

Signaler
Messages postés
5
Date d'inscription
mercredi 11 septembre 2002
Statut
Membre
Dernière intervention
13 septembre 2002
-
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004
-
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

Messages postés
5
Date d'inscription
mercredi 11 septembre 2002
Statut
Membre
Dernière intervention
13 septembre 2002

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
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

'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
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

'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
Messages postés
5
Date d'inscription
mercredi 11 septembre 2002
Statut
Membre
Dernière intervention
13 septembre 2002

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
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

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
Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

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