Tranformation d'une matrice en tableau à 3 col.

  • Initiateur de la discussion Initiateur de la discussion Baga
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Baga

XLDnaute Nouveau
Bonjour,
Je suis novice en VBA et je demande votre aide pour transformer une matrice (de 0h à 24h) en tableau à 3 colonnes en vue de l'intégrer dans une base Access.
Merci d'avance. [file name=Test1_20050808152822.zip size=9209]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test1_20050808152822.zip[/file]
 

Pièces jointes

Bonjour

Tu peux essayé ca :

Public Sub test()

Dim g_feuilleLecture As String
Dim g_feuilleInsert As String

g_feuilleLecture = 'Feuil1'
g_feuilleInsert = 'Feuil2'

Dim l_compteurLigne As Integer
Dim l_compteurColonne As Integer

l_compteurLigne = 2

Dim l_insertLigne As Integer

l_insertLigne = 1

While Not ThisWorkbook.Sheets(g_feuilleLecture).Range('A' & l_compteurLigne) = ''
For l_compteurColonne = 2 To 25
ThisWorkbook.Sheets(g_feuilleInsert).Range('A' & l_insertLigne) = ThisWorkbook.Sheets(g_feuilleLecture).Range('A' & l_compteurLigne)
ThisWorkbook.Sheets(g_feuilleInsert).Range('B' & l_insertLigne) = ThisWorkbook.Sheets(g_feuilleLecture).Range(Chr(l_compteurColonne + 64) & '1')
ThisWorkbook.Sheets(g_feuilleInsert).Range('C' & l_insertLigne) = ThisWorkbook.Sheets(g_feuilleLecture).Range(Chr(l_compteurColonne + 64) & l_compteurLigne)
ThisWorkbook.Sheets(g_feuilleInsert).Range('C' & l_insertLigne).NumberFormat = 'h:mm;@'
l_insertLigne = l_insertLigne + 1
Next l_compteurColonne
l_compteurLigne = l_compteurLigne + 1
Wend

End Sub


les variables g_feuilleLecture et g_feuilleInsert désignent les feuilles dans lesquelles on lit et on écrit

les variables l_compteurLigne et l_compteurColonne désignent les lignes et colonnes où se passent la lecture

la variable l_insertLigne désignent dans quelle ligne vont s'insérer les données

chr(l_compteurColonne + 64) m'indique la colonne dans laquelle j'insère. Chr(integer) est une fonction retournant le charactère ASCII d'un entier passé en parametre. A => 65 et Z => 90
donc le pb de cette fonction est que ca se limite au 26 premières colonnes.

J'espère que cela te convient

bon courage pour la suite
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
0
Affichages
801
mc eric
M
P
Réponses
9
Affichages
2 K
philest
P
S
  • Question Question
Réponses
0
Affichages
1 K
Sébastien
S
S
  • Question Question
Réponses
2
Affichages
966
sandrine
S
B
  • Question Question
Réponses
2
Affichages
1 K
Bertrand
B
Y
Réponses
6
Affichages
2 K
P
Réponses
1
Affichages
1 K
Pierrot93
P
B
  • Question Question
Réponses
6
Affichages
2 K
B
A
Réponses
4
Affichages
1 K
P
Réponses
0
Affichages
866
pascal
P
Retour