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:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns,
SearchDirection:=xlNext, _
MatchCase:=False).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.
Quelqu'un pourrait-il m'aider, j'ai presque fini mon projet
Merci d'avance
-- Amicalement
__________________________________________
Lionel de Luca
FxM
Bonjour Lionel,
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 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 Lionel,
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 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.
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 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
Lionel de Luca
Bonjour FxM
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" a écrit dans le message de news:
Bonjour Lionel,
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 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 FxM
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
ldeluca@tiscali.fr
"FxM" <fxmanceaux@chello.fr> a écrit dans le message de
news:OcbG02GmDHA.2528@TK2MSFTNGP10.phx.gbl...
Bonjour Lionel,
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 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.
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" a écrit dans le message de news:
Bonjour Lionel,
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 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
FxM
Bonsoir Lionel,
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:
Bonjour FxM
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
Bonsoir Lionel,
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:
Bonjour FxM
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
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:
Bonjour FxM
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