rangement de données
Le
Lionel de Luca
Je n'ai pas vu mon message, c'est pouquoi je le reposte
Bonjour à tous
Voici ma macro :
Private Sub CommandButton1_Click()
Dim I As Integer, compteur2 As Integer, ref(), ind(), lib1(), lib2()
compteur2 = 0
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) Then
compteur2 = compteur2 + 1
ReDim Preserve ref(compteur2)
ref(compteur2) = .List(I)
MsgBox (ref(compteur2))
Sheets("base").Select
Range("A1").Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
Cells.Find(What:=ref(compteur2), After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns,
SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve ind(compteur2)
ind(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve lib1(compteur2)
lib1(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve lib2(compteur2)
lib2(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=-3).Activate
End If
Next
MsgBox compteur2 & " sélection (s)."
End With
'Rangement des données
'Rangement des données
ListBox1.Clear
UserForm_activate
End Sub
Cette macro me permet de récupérer mes données et des les ranger dans un
tableau
Mon problème est de les mettre en place dans une feuille en sachant que :
- dans des cellules ( ex: A1 A2 A3 A7)
Si mon compteur < 7 , pas de problème je sais faire
Si mon compteur >7 , je ne vois pas la solution pour réecrire
dans les même cellules que pécédement
et ainsi de Suite, jusqu'à ce que toutes mes sélections de ma
listebox soient faites.
Après chaque rangement, je les imprime.
Merci d'avance pour l'aide que vous m'apporterez
Bonjour à tous
Voici ma macro :
Private Sub CommandButton1_Click()
Dim I As Integer, compteur2 As Integer, ref(), ind(), lib1(), lib2()
compteur2 = 0
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) Then
compteur2 = compteur2 + 1
ReDim Preserve ref(compteur2)
ref(compteur2) = .List(I)
MsgBox (ref(compteur2))
Sheets("base").Select
Range("A1").Select
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
Cells.Find(What:=ref(compteur2), After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns,
SearchDirection:=xlNext, _
MatchCase:úlse).Activate
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve ind(compteur2)
ind(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve lib1(compteur2)
lib1(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve lib2(compteur2)
lib2(compteur2) = ActiveCell.Text
ActiveCell.Offset(rowOffset:=0, columnOffset:=-3).Activate
End If
Next
MsgBox compteur2 & " sélection (s)."
End With
'Rangement des données
'Rangement des données
ListBox1.Clear
UserForm_activate
End Sub
Cette macro me permet de récupérer mes données et des les ranger dans un
tableau
Mon problème est de les mettre en place dans une feuille en sachant que :
- dans des cellules ( ex: A1 A2 A3 A7)
Si mon compteur < 7 , pas de problème je sais faire
Si mon compteur >7 , je ne vois pas la solution pour réecrire
dans les même cellules que pécédement
et ainsi de Suite, jusqu'à ce que toutes mes sélections de ma
listebox soient faites.
Après chaque rangement, je les imprime.
Merci d'avance pour l'aide que vous m'apporterez

Poser une question


Quelqu'un pourrait-il m'aider, j'ai presque fini mon projet
Merci d'avance
--
Amicalement
__________________________________________
Lionel de Luca
Ne connaissant rien aux listbox, je ne pourrais te répondre.
Ce que je dois constater, c'est qu'en parcourant la question, j'aperçois
du code mais n'ai pas compris comment sont organisées tes données, ce
que tu as, ce que tu veux et par où tu es passé jusqu'à maintenant.
J'ai peur que ce soit la même chose pour mes collègues.
Difficile de répondre à un truc que l'on a pas saisi.
@+
FxM
Lionel de Luca wrote:
Je suis novice mais je me débouille
Explique moi comment organiser mes procédures pourque tout le monde les
comprenne
Merci
Pour le problème exposé j'ai trouvé la solution
Merci à tous
--
Amicalement
__________________________________________
Lionel de Luca
"FxM" news:
Ce n'est pas vraiment un problème d'organisation des procédures mais
plutôt de plongeon dans un système complètement inconnu.
En survol, ta procédure me semble correcte même s'il l'ont peut
toujours améliorer en supprimant les .activate. Par exemple :
ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate
ReDim Preserve ind(compteur2)
ind(compteur2) = ActiveCell.Text
peut devenir :
ReDim Preserve ind(compteur2)
ind(compteur2) = ActiveCell.Offset(0,1).Text
qui est plus rapide vu qu'il n'a pas à activer une cellule.
Le problème est plutôt qu'un créateur baigne dans son projet depuis x
temps et qu'il a (à priori) toutes les infos sous les yeux. Un nouvel
arrivant ne peut connaître que ce que le créateur veut bien lui indiquer.
La partie la plus difficile est de retrouver le cheminement qui a été
utilisé. Ca peut être tortueux en fonction des connaissance de chacun
et surtout des données dans le(s) fichier(s) [position, type de
données, etc, etc.]
Pas si simple d'en dire suffisamment sans se noyer dans des détails
inutiles. Si seulement il pouvait y avoir une règle universelle ...
plus besoin de développeurs, un simple générateur de code ;o)
@+
FxM
Lionel de Luca a écrit: