utiliser le numéro de colonne pour manipuler un tableau Excel via Acce

  • Auteur de la discussion darkspoilt
  • Date de début

darkspoilt

Expert
Bonjour,

POur detecter la fin de mon tableau j'ai utiliser la fonctione suivante
[cpp]colonne = xls.ActiveSheet.Range("a1").End(xlToRight)(1, 2).Column[/cpp]
ensuite j'aimerais utilise le numéro de collone recu pour faire des manipulation Excel via Acces
Par exemple
[cpp]xls.ActiveSheet.Range("B1:J49").Borders(xlInsideVertical).LineStyle = xlNone[/cpp]
J'aimerais soit pourvoir utiliser mon numéro de colone trouver soir convertir mon numéro de colonne en lettre
Si quelqu'un peut m'aider je le remercie d'avance
 

darkspoilt

Expert
J'ai essayé ca
[cpp]xls.ActiveSheet.Range(Cells(1, 2), Cells(49, Colonne)).Borders(xlEdgeBottom).LineStyle = xlContinuous[/cpp]

et puis ca

[cpp]Colonne = xls.ActiveSheet.Range("a1").End(xlToRight)(1, 2).Column

Function LettreColonne(Colonne As Long) As String
If Colonne > 0 And Colonne < 257 Then
LettreColonne = Split(Cells(1, Colonne).Address(1, 0), "$")(0)
End If
End Function[/cpp]

Il me sort que la méthode Cells de l'objet global a échoué si quelqu'un peut me dire ou est le probleme merci d'avance
 

zeb

Modérateur
collone
colone
colonne
:lol: Et si tu te décidais ?

[fixed]Range(...)(1, 2)[/fixed]Tiens, je ne connaissais pas cette syntaxe, et je n'en trouve pas (encore) trace dans l'aide.

J'ai essayé ca
[cpp]xls.ActiveSheet.Range(Cells(1, 2), Cells(49, Colonne)).Borders(xlEdgeBottom).LineStyle = xlContinuous[/cpp]
C'est bon ça. Ou presque.

Mais regarde un peu mieux. Le premier Range, tu précises la feuille et l'application (xls.ActiveSheet), il faut en faire autant pour les Cells !
Code:
xls.ActiveSheet.Range(xls.ActiveSheet.Cells(1, 2), xls.ActiveSheet.Cells(49, Colonne)).Borders(xlEdgeBottom).LineStyle = xlContinuous
C'est lourd ? Ben oui. Essaye ça :
Code:
With xls.ActiveSheet
    .Range(.Cells(1, 2), .Cells(49, Colonne)).Borders(xlEdgeBottom).LineStyle = xlContinuous
End With

(Et tu vas me virer ces ActiveTrucs ! - Désolé, je ne pouvais pas ne pas le dire, c'est un toc [:spamafote])
 

darkspoilt

Expert
Voila la solution

[cpp]Feuille.Range(Feuille.Cells(1, 2), Feuille.Cells(49, Colonne)).Borders(xlEdgeBottom).LineStyle = xlContinuous[/cpp]
Feuille est un worksheet c'est ce qui me manquait
 

zeb

Modérateur
:) Ce que j'aime, c'est quand les gens trouvent eux-même une solution à leur problème :)
 

darkspoilt

Expert
Bah je vais pas attendre comme un idiot que la solution tombe du ciel. Faut se creuser un peu les ménages tu n'es pas d'accord??
 

zeb

Modérateur
Mais si, mais si. Je suis bien d'accord.
Il n'y avait aucune ironie, ni aucun sarcasme dans mon message.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 957
Membres
1 586 383
Dernier membre
potofeu
Partager cette page
Haut