Selection De Plusieurs Cellules - Forum Excel-Pratique

ForumsExcel - VBASelection de plusieurs cellulesSelection de plusieurs cellules Le 10/11/2017 à 11:29AAntoine01Jeune membreMessages11Excel2013Inscrit16/10/2017

TELECHARGEMENTS

Plus de 300 applications Excel sont disponibles gratuitement en téléchargement !

  • Budget, gestion de comptes
  • Gestion commerciale, personnel
  • Plannings, calendriers
  • Etc.
Voir les applications ...

Bonjour,

Je souhaiterai sélectionner plusieurs cellules à partir de la cellule active

la ligne de commande ci-après permet de sélectionner toutes les cellules contiguës non vide situées à droite de la cellule active

ActiveCell.Offset(0, 0).Select

Range(Selection, Selection.End(xlToRight)).Select

Selection.Copy

L’inconvénient de cette commande, c'est qu'il faut insérer une cellule vide ou colonne vide pour définir la zone de copie.

je souhaiterai pouvoir sélectionner que 4 cellules à droite de la cellule active .

S'il est possible de faire la même chose sur 2 cellules situé en bas ou en haut ou à gauche

Je pense que l'on doit pouvoir également saisir une plage de cellules.

Merci pour les réponses

Antoine

Le 10/11/2017 à 11:45tthebenoit59Membre fidèleMessages435Votes35Excel2016Inscrit21/06/2016

Bonjour Antoine.

Il faut utiliser le redimensionnement de ta plage.

Range(...).Resize(nligne, ncolonne)

Le 13/11/2017 à 17:48AAntoine01Jeune membreMessages11Excel2013Inscrit16/10/2017

Bonjour, j'ai essayé le code Resize, ça ne fonctionne pas.

Peut-être que la fonction est mal exprimé

ActiveCell.Offset(0, 0).Select

Range(Selection.Resize(0, 6)).Select

Je souhaite sélectionner les 6 cellules à droite de la cellule active sur la même ligne

Ces 6 cellules sont destinées à être copié vers un cellule nommée

Merci pour votre réponse ou la correction de la formule

Antoine

Le 14/11/2017 à 01:25MMFerrandFanatique d'ExcelMessages17'170Votes1'467Excel2010 FRInscrit20/07/2015LieuRéunion

Bonsoir,

Je souhaiterai sélectionner plusieurs cellules à partir de la cellule active

C'est à éviter ! Cela ne mène à rien sauf perdre du temps !

Tu cibles la cellule ou la plage voulue et tu fais ce que tu as à faire, sans sélectionner. VBA fera ! Et plus rapidement !

ActiveCell.Offset(0, 0).Select

Tu as le sens du pléonasme ! Pourquoi pas : ActiveCell.Offset(0, 0).Cells(1, 1)... tant que tu y es !

Range(Selection.Resize(0, 6)).Select

Si tu redimensionnes sur 0 lignes, les 6 colonnes n'auront guère de ligne où se placer !

Cordialement.

Voilà qui fera ce que tu souhaites, sans fioritures inutiles, sans sélection, et même sans copier-coller !

Sub Test() Dim csix csix = ActiveCell.Resize(, 6).Value CellNommée.Resize(, 6).Value = csix End SubLe 14/11/2017 à 18:58AAntoine01Jeune membreMessages11Excel2013Inscrit16/10/2017

Je ne suis pas un expert en VBA, je voudrai simplement pouvoir sélection les 6 cellules à droite de mon curseur

Actuellement ma macro écrite par le générateur de macro excel est ainsi.

ActiveCell.Offset(0, 0).Select

Range(Selection, Selection.End(xlToRight)).Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent1

.TintAndShade = 0.599993896298105

.PatternTintAndShade = 0

End With

Selection.Copy

Actuellement cela marche très bien .

J'ai du mettre une colonne vide pour délimiter la Selection.End(xlToRight), sinon la sélection prend des valeurs non souhaitées

Je voudrai ne prendre que 6 colonnes à droite du curseur

Merci pour l'aide

Antoine

Le 15/11/2017 à 02:37dhanyPassionné d'ExcelMessages6'872Votes928Excel2007 FRInscrit03/10/2017

Bonjour Antoine01,

Tu a écrit :

Je voudrai ne prendre que 6 colonnes à droite du curseur

Tu a écrit :

J'ai du mettre une colonne vide pour délimiter la Selection.End(xlToRight),

sinon la sélection prend des valeurs non souhaitées

Je te propose le code VBA ci-dessous, et tu peux supprimer la colonne vide que tu as ajoutée :

Sub Essai() With ActiveCell.Offset(, 1).Resize(, 6).Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorAccent1 .TintAndShade = 0.599993896298105 .PatternTintAndShade = 0 End With End Sub

De plus, et ça dépend de ce que tu as déjà comme mise en forme sur ta feuille,

il se pourrait même que cet autre code VBA simplifié puisse aller :

Sub Essai() With ActiveCell.Offset(, 1).Resize(, 6).Interior .ThemeColor = xlThemeColorAccent1 .TintAndShade = 0.599993896298105 End With End Sub

J'ai enlevé les 3 lignes concernant le motif (= pattern en anglais) car c'est normalement

les valeurs par défaut, donc déjà correctes : inutile de faire ce qui est déjà fait !

La seule instruction de ton code que je n'ai pas reprise est : Selection.Copy

Note que mon code VBA fait ce qu'il faut sans avoir besoin de sélection ; peut-être alors

n'as-tu plus besoin de faire de sélection ? mais si tu en as besoin, alors à toi de l'ajouter ;

attention : puisque je n'ai pas utilisé de sélection, ce qui était déjà sélectionné avant

l'est resté : une sélection manuelle ou par VBA, ou la cellule active par exemple.

Merci de me donner ton avis, et de me dire si ça te convient.

Si ton problème est résolu, n'oublie pas de marquer les posts qui ont permis de résoudre le problème à l'aide du bouton

Cordialement

Le 18/11/2017 à 13:59MMFerrandFanatique d'ExcelMessages17'170Votes1'467Excel2010 FRInscrit20/07/2015LieuRéunion

il se pourrait même que cet autre code VBA simplifié puisse aller :

On peut encore simplifier un peu...

Sub Essai() ActiveCell.Offset(, 1).Resize(, 6).Interior.Color = RGB(184, 204, 228) End Sub

Mais encore un sujet abandonné en chemin... !

Le 18/11/2017 à 19:07dhanyPassionné d'ExcelMessages6'872Votes928Excel2007 FRInscrit03/10/2017

MFerrand, tu as sans doute raison ; si je ne l'ai pas fait moi-même, c'est seulement car je ne connais pas bien ce qui concerne les Thèmes (couleurs et autres) ; alors j'ai préféré éviter le risque d'enlever par inadvertance un attribut de thème.

Le demandeur Antoine01 retrouvera-t-il son chemin pour revenir ici ? a-t-il semé des petits cailloux blancs ou seulement des miettes de pain que des oiseaux voraces ont englouties ? la suite de ce passionnant thriller au prochain épisode...

Le 19/11/2017 à 01:38MMFerrandFanatique d'ExcelMessages17'170Votes1'467Excel2010 FRInscrit20/07/2015LieuRéunion

Salut ! Ça fait plusieurs sujets qui bougent, pour lequel je n'ai pas eu de message ! Ce n'est qu'un retard j'espère car j'aurais du mal à m'y retrouver sinon...

Ce que je voulais faire apparaître, sur ce sujet, c'est que les couleurs disponibles qui peuvent être utilisées, le sont dans l'espace de couleurs rgb et que la totalité en est définissable à partir des valeurs des composantes (RGB).

Le système des Thèmes de couleurs ne crée pas de nouvelles couleurs mais en constitue des regroupements selon des gradations... (dont je ne pourrai dire grand chose de plus, car je ne sais pas l'utiliser).

Je n'aurais évidemment pas proposé de modification d'un code utilisant les thèmes de couleurs de façon intentionnelle ! Mais s'agissant d'un code enregistré, l'enregistreur se borne à enregistrer en fonction des touches pressées par l'utilisateur, s'il a appuyé sur une couleur faisant partie d'un thème, l'enregistreur renvoie le thème et les propriétés afférentes, s'il a défini la même couleur autrement, l'enregistreur l'enregistrera aussi autrement...

Il paraît donc rationnel dans la mesure où le choix concerne une couleur et non un thème en tant que tel de la définir en tant que couleur dans le code... J'ai une préférence pour la fonction RGB (par habitude et parce qu'il est plus facile de mémoriser les valeurs des composantes élémentaires, et aussi de les identifier pour une couleur donnée), mais la fonction renvoie d'ailleurs une valeur de type Long qui peut être utilisée (que certains utilisent) et qui est aussi renvoyée par la propriété Color. La valeur hexadécimale de la couleur peut également être utilisée...

Cordialement. (A suivre )

Le 19/11/2017 à 17:23MMFerrandFanatique d'ExcelMessages17'170Votes1'467Excel2010 FRInscrit20/07/2015LieuRéunion

J'ai une série de message avec 24h de décalage ! Rien n'était perdu !

Le 20/11/2017 à 07:37AAntoine01Jeune membreMessages11Excel2013Inscrit16/10/2017

Bonjour à tous!

Eh non je ne me suis pas perdu et avec une certaine éducation car j'ai pour habitude de répondre et de remercier ceux qui participent à ce forum et je vous remercie pour vos réponses car j'ai réussi à résoudre ma petite application grâce à vos réponses.

Mais avec une vie professionnelle et privé intense je ne suis pas toujours sur mon PC.

Merci à vous tous..problème résolu

Antoine

Le 20/11/2017 à 11:27dhanyPassionné d'ExcelMessages6'872Votes928Excel2007 FRInscrit03/10/2017

ACCES PREMIUM

Soutenez le site en devenant membre Premium et profitez de plusieurs options exclusives :

  • Navigation sans publicités
  • Option "No Tracking"
  • Option "Mode Incognito"
  • Option "Dark Mode"
Plus d'informations ...

Bonjour Antoine,

Comme tu as indiqué avoir une vie professionnelle et privée très intenses, je comprends tout à fait que tu ne sois pas toujours sur ton PC : la vraie vie avant tout ! (et j'espère que tu sauras éviter le surmenage et les risques d'infarctus !)

Je suis bien content que tu sois revenu sur ce sujet, et encore plus que tu as indiqué avoir réussi à résoudre ton application grâce à nos réponses ; tu peux donc passer le sujet en résolu en cliquant sur la coche verte V qui est à droite du bouton EDIT, ce qui permet aussi de clôturer le fil ; merci d'avance si tu le fais, et merci ... pour tes remerciements.

Cordialement

Rechercher des sujets similaires à "selection"ForumsExcel - VBASelection de plusieurs cellules

Tag » Activecell Sélectionner Plusieurs Cellules