Si aucune ligne de la listview ..... ?

  • Initiateur de la discussion Initiateur de la discussion Macpoy
  • 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 !

Macpoy

XLDnaute Impliqué
bonsoir le forum,

meilleurs voeux à tous. bonne et heureuse année 2008.

dans un formulaire j'ai incorporé une listview, lorsque je clique dans une des chekbox les informations contenues dans cette ligne sont bien copiées ou je le souhaite.

mais dans le cas ou aucune ligne de cette listview n'est sélectionnée, j'aimerais qu'un msgbox me prévienne que rien n'a été selectionné.
je triture vba depuis quelques temps sans trouver vraiment la syntaxe idéale !!
j'ai essayer avec des boucles do while et autre mais ce n'est pas ça.

je remercie d'avance tout excellien de ce site qui pourrait éclairer ma lanterne.
 
Re : Si aucune ligne de la listview ..... ?

bonjour

je ne comprends pas trop, et sans exemple c'est encore plus compliqué alors une direction

Listbox1.listindex Donne le n° de ligne qui est selectionnée dans la listbox et commence à zero

si aucune ligne n'est selectionnée listindex renvoie -1 donc

if listbox1.listindex = -1 then msgbox "Pas de selection" : exit sub

bonne journée
 
Re : Si aucune ligne de la listview ..... ?

Bonjour Macpoy, wilfried

Je ne connais pas trop les Listview, mais regarde ce lien tu devrais trouver la réponse à ta question

Utiliser le contrôle ListView en VBA Excel - Club d'entraide des développeurs francophones


Pour vérifier si au moins une ligne est sélectionnée dans la listview, utilisez:
Code:
[B][COLOR=#3366cc]Private[/COLOR][/B] [B][COLOR=#3366cc]Sub[/COLOR][/B] [COLOR=#3366cc]CommandButton1_Click[/COLOR]()
    [B][COLOR=#3366cc]Dim[/COLOR][/B] LstItem [B][COLOR=#3366cc]As[/COLOR][/B] ListItem
    
    [B][COLOR=#3366cc]On[/COLOR][/B] [B][COLOR=#3366cc]Error[/COLOR][/B] [B][COLOR=#3366cc]Resume[/COLOR][/B] [B][COLOR=#3366cc]Next[/COLOR][/B]
    [B][COLOR=#3366cc]Set[/COLOR][/B] LstItem [COLOR=#7f0055]=[/COLOR] ListView1[COLOR=#3366cc].SelectedItem[/COLOR]
    [B][COLOR=#3366cc]On[/COLOR][/B] [B][COLOR=#3366cc]Error[/COLOR][/B] [B][COLOR=#3366cc]GoTo[/COLOR][/B] [COLOR=#ff0000]0[/COLOR]
    
    [B][COLOR=#3366cc]If[/COLOR][/B] LstItem [COLOR=#7f0055]Is[/COLOR] [COLOR=#3366cc]Nothing[/COLOR] [B][COLOR=#3366cc]Then[/COLOR][/B]
        [COLOR=#3366cc]MsgBox[/COLOR] [COLOR=#993399]"Aucune ligne n'est sélectionnée."[/COLOR]
        [B][COLOR=#3366cc]Else[/COLOR][/B]
        [COLOR=#3366cc]MsgBox[/COLOR] [COLOR=#993399]"Il y a au moins une ligne de sélectionnée."[/COLOR]
    [B][COLOR=#3366cc]End[/COLOR][/B] [B][COLOR=#3366cc]If[/COLOR][/B]

[B][COLOR=#3366cc]End[/COLOR][/B] [B][COLOR=#3366cc]Sub[/COLOR][/B]

A+
 
Re : Si aucune ligne de la listview ..... ?

bonjour le forum, bqtr, wilfried_42,

merci beaucoup aux excellliens si matinaux de m'avoir mis sur la piste.
j'ai résolu le petit pb en question.

juste une précision pour les autres utilisateurs de ce contrôle:
- La première ligne d'une listview est toujours sélectionnée par défaut lors de l'initialisation. Si vous avez besoin de la déselectionner, utilisez:

ListView1.ListItems(1).Selected = False
Set ListView1.SelectedItem = Nothing

puis pour tester si au moins une ligne à été selectionnée on repart sur la macro que bqtr à eue la gentillesse de poster.

Dim LstItem As ListItem

On Error Resume Next
Set LstItem = ListView1.SelectedItem
On Error GoTo 0

If LstItem Is Nothing Then
MsgBox "Aucune ligne n'est sélectionnée."
Else
MsgBox "Il y a au moins une ligne de sélectionnée."
End If

merci beaucoup.

puis je me permettre une question qui n'a rien à voir avec VBA mais avec notre excellent site ?

bqtr, comment fais tu pour le code VBA que tu cite apparraisse de cette manière ? ( sachant que je n'y connais rien en balise, trackback ou tout autre outil d'édition)
merci d'avance.
 
Re : Si aucune ligne de la listview ..... ?

Re:

bonjour le forum, bqtr, wilfried_42,

juste une précision pour les autres utilisateurs de ce contrôle:
- La première ligne d'une listview est toujours sélectionnée par défaut lors de l'initialisation. Si vous avez besoin de la déselectionner, utilisez:

bqtr, comment fais tu pour le code VBA que tu cite apparraisse de cette manière ? ( sachant que je n'y connais rien en balise, trackback ou tout autre outil d'édition)
merci d'avance.

Juste une precision, ci joint un exemple basic, je n'ai rien modifié dans un parametre quel qu'il soit

la ligne que j'ai mise en rouge n'est pas correcte, il ne faut pas confondre pointage et selection

à l'initialisation de la listbox, vous pouvez voir la premiere ligne encadrée par des pointillés, cela ne veut pas dire qu'elle est selectionnée.
Cliquez sur le bouton, un msgbox affiche la fonction listbox soit -1 comme defini dans mon precedent post

si l'on selectionne une ligne, le bouton affiche la ligne (-1) selectionnée

Simple precision pour les internautes
 

Pièces jointes

Re : Si aucune ligne de la listview ..... ?

bonjour le forum,

finalement comme les propositions n'étaient pas tout a fait adaptées à mon classeur (et sont fonctionnement) j'ai détourné le problème en passant par :
- si après avoir cliqué dans la listview, la cellule untel est remplie alors poursuivre la macro, sinon revenir au début .....
avec cette astuce, je m'en sort pas mal !!!
mon classeur faisant 3.2 Mo je me vois mal le réduire pour le mettre en ligne.

mais une question subsidiaire subsiste :
comment fait on pour "citer", ou "editer" un code VBA tel qu'a pu le faire bqtr lors d'un de ses précedent post ???
 
Re : Si aucune ligne de la listview ..... ?

Re,

Posté par Macpoy
puis pour tester si au moins une ligne à été sélectionnée on repart sur la macro que bqtr à eue la gentillesse de poster.
La macro est tirée du tutoriel que j'ai mis en lien.

Pour Citer: En bas à droite de chaque message tu as un bouton Citer, click dessus. Cela t'ouvre la fenêtre pour rédiger un nouveau message. Le texte citer commance par ([)quote(]) et se termine par ([)/quote(]) (sans les parenthèes). Entre les deux tu supprimes la partie du texte qui ne t'interresse pas.

mais une question subsidiaire subsiste :
comment fait on pour "citer", ou "editer" un code VBA tel qu'a pu le faire bqtr lors d'un de ses précedent post ???

Pour le code VBA, quant tu rédiges un message, en haut de la fenêtre, clique sur le # tu auras ([)CODE(])([/CODE(]) (toujours sans les parenthèses), place ton code entre les deux.

A+
 
Re : Si aucune ligne de la listview ..... ?

bonsoir le forum, wilfried, bqtr,

([)quote(]) Merci Beaucoup ([)quote(])

([)CODE(]) Private sub Merci ()
dim Merci as Remerciement

For merci = 1 to tout plein
if Macpoy(i) = "content" then
cell(i,1) = "Merci"
end if
next i
([)CODE(])

bref si ça marche, je me coucherais moins bête ce soir !!!
merci beaucoup jeunes gens.
bonne et heureuse année 2008
@ plus
 
Re : Si aucune ligne de la listview ..... ?

Re

Re,

mais heuuuuu !!!!?????
mais pourquoi ?????
j'ai pas tout compris je crois !!!!! et là je met comment pour l'émoticone du blasé ????

Je crois oui 😀

Il faut enlever les parenthèses, elles étaient là pour neutraliser le système.

[ quote ] ici mettre le texte de la citation [ /quote ], si tu cliques sur le bouton "Citer" sur le message que tu veux mettre en citation , cela se fait automatiquement.

Pour le code il faut cliquer sur le dièse # dans la barre de mise en forme de la fenêtre où tu écris ton message tu auras : [ CODE ] ici mettre le code VBA, ou ce que tu veux [ /CODE ].

Pour les deux cas, il faut supprimer les espaces Aprés le [ de début et celui avant le ] de fin, le espaces ne sont là que pour te montrer ce qu'il faut mettre.
Ne pas oublié le /

Dans le salon il y a des exemples d'explication, je vais essayer de les retrouver.

A+
 
Re : Si aucune ligne de la listview ..... ?

Re,

Regarde ce fil, et la réponse de Brigitte (celle de 17h28) ICI pour les citation multiples.

Pour avoir toutes les icônes : dans ton profil.
Dans tab.de bord, modifier vos options, tu déroules jusqu'en bas et dans options divers sélectionne : Editeur WYSIWYG - interface avancée. et valide.

Si Brigitte passe par là, elle devrait t'expliquer tout ça mieux que moi.

A+
 
Re : Si aucune ligne de la listview ..... ?

Bonjour le forum, bqtr, wilfried,

merci beaucoup, merci. 😛

([)quote(]) Merci Beaucoup ([)quote(])
Code:
 ([)CODE(]) Private sub Merci ()
dim Merci as Remerciement

For merci = 1 to tout plein
     if Macpoy(i) = "content" then
        cell(i,1) = "Merci"
     end if 
next i
([)CODE(])
avec l'éditeur cela devient plus facile !!! 😀

j'ai laissé les paranthéses de mes précédents écrit pour montrer que j'ai compris.

merci maintenant je ne suis plus 🙁 mais 🙂 alors merci beaucoup
 
- 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
Retour