Ensemble complémentaire

Le
garnote
Bonjour,

Dans un classeur (Excel 2007) ja'i nommé une plage simple « Tableau ».
Je sélectionne alors dans cette plage une plage simple ou multiple.
Je voudrais associer une macro à un bouton déposée dans la barre
d'outils Accès rapide.
En cliquant sur ledit bouton, j'aimerais que seulement les cellules ne
faisant pas partie de ma sélection soit sélectionnées.
Et si je clique à nouveau sur le bouton, il faudrait que seules les cellules
de la sélection initiale soient sélectionnées.
Et pouvoir recommencer le manège à chaque fois que je clique sur le bouton.

Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #18485391
Bonjour,

Enfin j'ai réussi à construire cette maudite macro !

Et je n'ai pas trouvé évident de déposer un bouton personnalisé
( auquel est associé une macro ) dans la barre d'outils Accès rapide.
Je vous livre donc le fruit de mes efforts nocturnes pour y arriver.
En espérant que ça puisse servir à ceux et celles qui voudraient
faire ce genre de choses.

Je dépose une macro dans un module standard :

Sub Complément()
Dim comp As Range
Dim c As Range, s As Range, t As Range
Dim i%, k%
Set s = Selection
Set t = Range("Tableau")
For Each c In t
i = i + 1
If Intersect(c, s) Is Nothing Then
k = k + 1
If k = 1 Then Set comp = t(i) Else Set comp = Union(comp, t(i))
End If
Next c
comp.Select
End Sub

Je clique alors sur la petite flèche de la barre d'outils Accès rapide.
Je clique sur « Autres commandes... ».
( ou je clique sur Bouton Office / Options Excel / Personnaliser )
En bas de « Choisir les commandes dans les catégories suivantes : »,
je clique sur la petit crochet et ensuite sur Macros.
Je double-clique alors sur le le nom de ma macro ( Complément )
qui apparaît dans la liste.
Son nom apparaît maintenant dans le tableau de droite.
En bas de ce tableau, je clique sur « Modifier ».
Une série de boutons apparaÎt.
Je clique sur le bouton qui me plaît et sur OK.
Le nom de ma macro est maintenant précédé du bouton que j'ai choisi.
Et finalement, je clique sur OK en bas de la grosse boîte de dialogue.
Et miracle, j'ai enfin mon bouton personnalisé dans la barre d'outils Accès rapide.

Quant à ma macro, si vous avez des idées pour obtenir
le même résultat autrement, je suis preneur.


Bonne journée,
Serge





"garnote"
Bonjour,

Dans un classeur (Excel 2007) ja'i nommé une plage simple « Tableau ».
Je sélectionne alors dans cette plage une plage simple ou multiple.
Je voudrais associer une macro à un bouton déposée dans la barre
d'outils Accès rapide.
En cliquant sur ledit bouton, j'aimerais que seulement les cellules ne
faisant pas partie de ma sélection soit sélectionnées.
Et si je clique à nouveau sur le bouton, il faudrait que seules les cellules
de la sélection initiale soient sélectionnées.
Et pouvoir recommencer le manège à chaque fois que je clique sur le bouton.

Serge





Modeste
Le #18486701
Bonsour® Serge

Dans un classeur (Excel 2007) ja'i nommé une plage simple « Tableau
».
Je sélectionne alors dans cette plage une plage simple ou multiple.
Je voudrais associer une macro à un bouton déposée dans la barre
d'outils Accès rapide.
En cliquant sur ledit bouton, j'aimerais que seulement les cellules ne
faisant pas partie de ma sélection soit sélectionnées.
Et si je clique à nouveau sur le bouton, il faudrait que seules les
cellules de la sélection initiale soient sélectionnées.
Et pouvoir recommencer le manège à chaque fois que je clique sur le
bouton.



si tu selectionnes le tableau complet celui-ci devrait etre déselectionné ...
que faut-il selectionner alors ????
il doit y avoir toujours au moins une cellule active dans une feuille !!!
;o)))
crisse de tabernak à 3 portes !!!

Sub Serge()' -----à associer à un bouton déposé dans la barre d'outils Accès rapide
Dim cellule As Range, selSpec As Range
Set selSpec = Nothing '------la selection alternative est vide au départ
For Each cellule In Range("Tableau")
If Intersect(cellule, Selection) Is Nothing Then ' --Ctrl la selection est dans le tableau
' --- la 1ere fois initialisation de la selection alternative
If selSpec Is Nothing Then Set selSpec = Range(cellule.Address)
' --- extension de la selection alternative
Set selSpec = Application.Union(selSpec, Range(cellule.Address))
End If
Next
' ---- si la selection alternative existe sinon
If Not selSpec Is Nothing Then
selSpec.Select
else
msgbox "pas d'alternative",vbexclamation, "cristi de bine!!!"
end if
End Sub
michdenis
Le #18487081
Une suggestion :

Définir 2 variables dans le haut d'un module standard.

Dim Rg As Range
Dim MaSelection As Range

Avoir recours à Public au lieu de Dim si ces variables doivent
servir à l'extérieur du module

Dans le même module, écrire la procédure qui définit ces 2
variables.
Lancer cette procédure à l'ouverture du classeur sur l'événement "Open"
du ThisWorkbook.

Et finalement, élaborer une autre procédure qui elle va être attachée au
bouton qui va simplement appelé la variable Range déjà définie...
c'est probablement moins fastidieux et plus rapide !



"garnote"
Bonjour,

Dans un classeur (Excel 2007) ja'i nommé une plage simple « Tableau ».
Je sélectionne alors dans cette plage une plage simple ou multiple.
Je voudrais associer une macro à un bouton déposée dans la barre
d'outils Accès rapide.
En cliquant sur ledit bouton, j'aimerais que seulement les cellules ne
faisant pas partie de ma sélection soit sélectionnées.
Et si je clique à nouveau sur le bouton, il faudrait que seules les cellules
de la sélection initiale soient sélectionnées.
Et pouvoir recommencer le manège à chaque fois que je clique sur le bouton.

Serge
garnote
Le #18489201
Merci Modeste pour ta macro.
Merci Denis pour tes suggestions.

Pour la rigolade :

http://www.cijoint.fr/cjlink.php?file=cj200901/cijtz63egp.xls

Et j'ai terminé mon album musical :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijqBp8C1p.xls


Serge


"Modeste" Bonsour® Serge

Dans un classeur (Excel 2007) ja'i nommé une plage simple « Tableau
».
Je sélectionne alors dans cette plage une plage simple ou multiple.
Je voudrais associer une macro à un bouton déposée dans la barre
d'outils Accès rapide.
En cliquant sur ledit bouton, j'aimerais que seulement les cellules ne
faisant pas partie de ma sélection soit sélectionnées.
Et si je clique à nouveau sur le bouton, il faudrait que seules les
cellules de la sélection initiale soient sélectionnées.
Et pouvoir recommencer le manège à chaque fois que je clique sur le
bouton.



si tu selectionnes le tableau complet celui-ci devrait etre déselectionné ...
que faut-il selectionner alors ????
il doit y avoir toujours au moins une cellule active dans une feuille !!!
;o)))
crisse de tabernak à 3 portes !!!

Sub Serge()' -----à associer à un bouton déposé dans la barre d'outils Accès rapide
Dim cellule As Range, selSpec As Range
Set selSpec = Nothing '------la selection alternative est vide au départ
For Each cellule In Range("Tableau")
If Intersect(cellule, Selection) Is Nothing Then ' --Ctrl la selection est dans le tableau
' --- la 1ere fois initialisation de la selection alternative
If selSpec Is Nothing Then Set selSpec = Range(cellule.Address)
' --- extension de la selection alternative
Set selSpec = Application.Union(selSpec, Range(cellule.Address))
End If
Next
' ---- si la selection alternative existe sinon
If Not selSpec Is Nothing Then
selSpec.Select
else
msgbox "pas d'alternative",vbexclamation, "cristi de bine!!!"
end if
End Sub
Modeste
Le #18490601
Bonsour® garnote
Pour la rigolade :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijtz63egp.xls



tabernak oui je me marre !!!! c'est quoi le mot de passe ????


Et j'ai terminé mon album musical :
http://www.cijoint.fr/cjlink.php?file=cj200901/cijqBp8C1p.xls



;o)))
tu pourrais pas trouver les URL directes plutot que d'ouvrir un deuxieme lecteur dans Window Media Player ????
;o)))
telle que :
http://207.253.121.82/TVAStream
garnote
Le #18491001
>tabernak oui je me marre !!!! c'est quoi le mot de passe ????


Saint-ciboire, mé trompé de fichier, tabarnak !
Le mot de passe : 112358
Et j'avais camouflé la barre de formules.

tu pourrais pas trouver les URL directes plutot que d'ouvrir un deuxieme lecteur dans Window Media Player ????


Là je suis dans la mouise !

http://207.253.121.82/TVAStream
Modeste
Le #18491371
Bonsour® garnote
tabernak oui je me marre !!!! c'est quoi le mot de passe ????


Saint-ciboire, mé trompé de fichier, tabarnak !
Le mot de passe : 112358
Et j'avais camouflé la barre de formules.



j'avais pas besoin du PSW ;o)))

je me posais surtout la question de l'utilité de cette macro eu égard à la quantité de chiffres dans le tableau
au début je m'orientais vers un jeu avec des codes couleurs qui s'incrémenteraient afin d'obtenir un motif donné dans un minimum de clicks !!!
un peu comme ça
http://excelabo.net/excel/compteclic.php?nom=gd-echanges

ou bien :
encore en gestation (un mélange de Reversi, Rol-it!)
pas encore terminé
au niveau interface joueurs(1 à 6)
fin de partie
stratégie contre l'ordinateur etc...
http://www.cijoint.fr/cjlink.php?file=cj200901/cijA22LRJC.xls
Publicité
Poster une réponse
Anonyme