OVH Cloud OVH Cloud

Selection

8 réponses
Avatar
Pierre.M
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M

8 réponses

Avatar
Daniel
Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me trie
la liste. Comment faire pour que, quand la procedure quitte et qu'on se
retrouve dans cette liste, la cellule selectionnee soit la cellule A de la
nouvelle ligne ajoutee, ou eventuellement la ligne complete qu'on vient de
rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M



Avatar
Pierre.M
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A2").Select


Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme
le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M




Avatar
Daniel
Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2")
_
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=
_
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme le
tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M








Avatar
Pierre.M
Salut Daniel,

ta procedure fonctionne mais j'ai du la modifier pour faire la
selection sur la colonne B (le titre est souvent unique, pas le nom
auquel cas la selection se fait sur le premier nom de la serie qui
n'est pas forcement le bon...).

J'ai donc modifie les 2 lignes de ta fonction en consequence.

Me reste un petit probleme, il faudrait que je puisse mettre
---Resize(-1,6).Select pour une selection sur A:G. Et le -1 ne marche
pas... Y a-t-il un autre moyen d'ecrire ca?

Merci encore.

Pierre.M

On 2006-07-05 17:32:15 +0200, "Daniel" said:

Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme
le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M








Avatar
Daniel
J'ai pas écrit "-1" mais "1".
Pour A:G, j'ai mal compté, c'est Resize(1,7) qu'il faut mettre.
Daniel
"Pierre.M" a écrit dans le message de news:
44abf450$0$866$
Salut Daniel,

ta procedure fonctionne mais j'ai du la modifier pour faire la selection
sur la colonne B (le titre est souvent unique, pas le nom auquel cas la
selection se fait sur le premier nom de la serie qui n'est pas forcement
le bon...).

J'ai donc modifie les 2 lignes de ta fonction en consequence.

Me reste un petit probleme, il faudrait que je puisse
mettre ---Resize(-1,6).Select pour une selection sur A:G. Et le -1 ne
marche pas... Y a-t-il un autre moyen d'ecrire ca?

Merci encore.

Pierre.M

On 2006-07-05 17:32:15 +0200, "Daniel" said:

Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne
ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2")
_
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme
le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article
(ligne) dans une base de donnees a l'aide d'un userform et qui sur
l'elan me trie la liste. Comment faire pour que, quand la procedure
quitte et qu'on se retrouve dans cette liste, la cellule selectionnee
soit la cellule A de la nouvelle ligne ajoutee, ou eventuellement la
ligne complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M












Avatar
Pierre.M
Non, desole, je me suis mal fait comprendre. J'ai modifie ta macro
comme ca pour avoir une selection sur B:
---
Celluleü_Titre
---
Range("B:B").Find(cellule,,xlWhole).Resize(1,6).Select

seulement alors ma selection est bien dans la bonne ligne mais avec les
colonnes B:G, il manque A (si je mets ...Resize(1,7) j'obtiens B:H.
C'est pour ca que j'ai essaye ...Resize(-1,6).

Pierr.M

On 2006-07-05 19:34:29 +0200, "Daniel" said:

J'ai pas écrit "-1" mais "1".
Pour A:G, j'ai mal compté, c'est Resize(1,7) qu'il faut mettre.
Daniel
"Pierre.M" a écrit dans le message de news:
44abf450$0$866$
Salut Daniel,

ta procedure fonctionne mais j'ai du la modifier pour faire la
selection sur la colonne B (le titre est souvent unique, pas le nom
auquel cas la selection se fait sur le premier nom de la serie qui
n'est pas forcement le bon...).

J'ai donc modifie les 2 lignes de ta fonction en consequence.

Me reste un petit probleme, il faudrait que je puisse mettre
---Resize(-1,6).Select pour une selection sur A:G. Et le -1 ne marche
pas... Y a-t-il un autre moyen d'ecrire ca?

Merci encore.

Pierre.M

On 2006-07-05 17:32:15 +0200, "Daniel" said:

Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme
le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M












Avatar
Daniel
Range("B:B").Find(cellule,,xlWhole).Offset(0, -1).Resize(1,7).Select
Daniel
"Pierre.M" a écrit dans le message de news:
44ac11f0$0$988$
Non, desole, je me suis mal fait comprendre. J'ai modifie ta macro comme
ca pour avoir une selection sur B:
---
Celluleü_Titre
---
Range("B:B").Find(cellule,,xlWhole).Resize(1,6).Select

seulement alors ma selection est bien dans la bonne ligne mais avec les
colonnes B:G, il manque A (si je mets ...Resize(1,7) j'obtiens B:H. C'est
pour ca que j'ai essaye ...Resize(-1,6).

Pierr.M

On 2006-07-05 19:34:29 +0200, "Daniel" said:

J'ai pas écrit "-1" mais "1".
Pour A:G, j'ai mal compté, c'est Resize(1,7) qu'il faut mettre.
Daniel
"Pierre.M" a écrit dans le message de news:
44abf450$0$866$
Salut Daniel,

ta procedure fonctionne mais j'ai du la modifier pour faire la selection
sur la colonne B (le titre est souvent unique, pas le nom auquel cas la
selection se fait sur le premier nom de la serie qui n'est pas forcement
le bon...).

J'ai donc modifie les 2 lignes de ta fonction en consequence.

Me reste un petit probleme, il faudrait que je puisse
mettre ---Resize(-1,6).Select pour une selection sur A:G. Et le -1 ne
marche pas... Y a-t-il un autre moyen d'ecrire ca?

Merci encore.

Pierre.M

On 2006-07-05 17:32:15 +0200, "Daniel" said:

Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne
ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb:
comme le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article
(ligne) dans une base de donnees a l'aide d'un userform et qui sur
l'elan me trie la liste. Comment faire pour que, quand la procedure
quitte et qu'on se retrouve dans cette liste, la cellule
selectionnee soit la cellule A de la nouvelle ligne ajoutee, ou
eventuellement la ligne complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M
















Avatar
Pierre.M
Ok, merci pour tout. Ca fonctionne super bien.
J'ai compris le fonctionnement de resize! 1 ligne/7colonnes et pas
colonnes 1 a 7...
Merci pour la lecon.

Pierre.M


On 2006-07-06 00:09:26 +0200, "Daniel" said:

Range("B:B").Find(cellule,,xlWhole).Offset(0, -1).Resize(1,7).Select
Daniel
"Pierre.M" a écrit dans le message de news:
44ac11f0$0$988$
Non, desole, je me suis mal fait comprendre. J'ai modifie ta macro
comme ca pour avoir une selection sur B:
---
Celluleü_Titre
---
Range("B:B").Find(cellule,,xlWhole).Resize(1,6).Select

seulement alors ma selection est bien dans la bonne ligne mais avec les
colonnes B:G, il manque A (si je mets ...Resize(1,7) j'obtiens B:H.
C'est pour ca que j'ai essaye ...Resize(-1,6).

Pierr.M

On 2006-07-05 19:34:29 +0200, "Daniel" said:

J'ai pas écrit "-1" mais "1".
Pour A:G, j'ai mal compté, c'est Resize(1,7) qu'il faut mettre.
Daniel
"Pierre.M" a écrit dans le message de news:
44abf450$0$866$
Salut Daniel,

ta procedure fonctionne mais j'ai du la modifier pour faire la
selection sur la colonne B (le titre est souvent unique, pas le nom
auquel cas la selection se fait sur le premier nom de la serie qui
n'est pas forcement le bon...).

J'ai donc modifie les 2 lignes de ta fonction en consequence.

Me reste un petit probleme, il faudrait que je puisse mettre
---Resize(-1,6).Select pour une selection sur A:G. Et le -1 ne marche
pas... Y a-t-il un autre moyen d'ecrire ca?

Merci encore.

Pierre.M

On 2006-07-05 17:32:15 +0200, "Daniel" said:

Essaie la procédure modifiée (je n'ai pas pu la tester) :

Private Sub FB_Valider_Click()

Dim Cellule As String '*** ligne ajoutée

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

Cellule = FC_Auteur '*** ligne ajoutée

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Range("A:A").Find(Cellule, , xlWhole).Resize(1, 6).Select '*** ligne ajoutée


Unload F_saisie

End Sub

Daniel
"Pierre.M" a écrit dans le message de news:
44abc9f6$0$883$
Voila, j'ai mis ca dans le bouton OK d'un userform

Private Sub FB_Valider_Click()

Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = FC_Auteur
ActiveCell.Offset(0, 1).Value = FC_Titre
ActiveCell.Offset(0, 4).Value = FC_Label
ActiveCell.Offset(0, 5).Value = FC_Année
ActiveCell.Offset(0, 6).Value = FC_Observations

If FC_OB1.Value = True Then

ActiveCell.Offset(0, 2).Value = "x"

Else: ActiveCell.Offset(0, 3).Value = "x"
End If


Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("F2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
Unload F_saisie

End Sub


Et je voudrais remplacer Range("A2").select par la selection de ma
nouvelle ligne cree (soit la cellule A, soit toute la ligne). Pb: comme
le tableau est trie avant je ne sais pas la retrouver...

Merci pour ton interet toujours renouvele pour mes problemes. Si ca
pouvait etre aussi simple avec mon psy... ;o)

Pierre.M


On 2006-07-05 00:35:39 +0200, "Daniel" said:

Bonjour.
Il faudrait avoir un peu plus de ton code.
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44aaa8d8$0$1026$
Salut tout le monde,

j'ai bricole un petit truc qui me permet de rajouter un article (ligne)
dans une base de donnees a l'aide d'un userform et qui sur l'elan me
trie la liste. Comment faire pour que, quand la procedure quitte et
qu'on se retrouve dans cette liste, la cellule selectionnee soit la
cellule A de la nouvelle ligne ajoutee, ou eventuellement la ligne
complete qu'on vient de rajouter?

Merci pour votre aide, j'en ai un peu marre de tourner en rond...

Pierre.M