Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection complexe de cellules

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

cabsen

XLDnaute Junior
Bonsoir le forum,

Je cherche la syntaxe, si elle existe, pour sélectionner des plages de cellules non contiguës.

Par exemple

Range("A1:A3" and "C1:C3").Select

Si quelqu'un connaît une solution, je suis tout ouïe

D'avance merci ! 🙂
 
Re : Sélection complexe de cellules

Bon, j'ai un peu avancé et ceci semble fonctionner pour la copie :

Range("A1:A3,C1:C3").Select

En revanche, la copie ne se passe pas comme prévue 🙁 et les cellules se retrouvent copiées côte à côte…
 
Re : Sélection complexe de cellules

Bonsoir le forum !

Je reviens sur mon problème d'hier.

Je souhaite réaliser une sélection de cellules non contiguës (ça j'ai réussi) pour copier coller leur contenu dans un autre fichier mais en respectant la disposition des cellules d'origine (et ça, ça ne fonctionne pas). Quelqu'un connaît-il une solution ?

Merci ! 🙂
 
Re : Sélection complexe de cellules

Salut,

Une solution mais sans aucun contrôle.

Sub RecopieSelection()
' *******************************************
' * Macro créé le 26/01/2008 par Celeborn61 *
' *******************************************

XB = Selection.Cells.Row
MinAX = 999
MinAY = 999
For Each Aire In Selection.Areas
'Cherche la plage la plus à gauche et en haut si plusieur à gauche
AX = Aire.Column
AY = Aire.Row
If AX < MinAX Then
'La plus à gauche
MinAX = AX
MinAY = AY
ElseIf AX = MinAX Then
'Si plusieur alligné à gauche, recherche ma plus haute
If AY < MinAY Then
MinAX = AX
MinAY = AY
End If
End If
Next Aire
'Boite pour la selection de la cible
Set RngInput = Application.InputBox("Choix de la cellule cible", "Choix utilisateur", , , , , , 8)
Cible = RngInput.Address
CibAY = Range(Cible).Row
CibAX = Range(Cible).Column
'Copie des différentes aires
For Each Aire In Selection.Areas
Aire.Copy Destination:=Range(Cells(CibAY + Aire.Row - MinAY, CibAX + Aire.Column - MinAX), Cells(CibAY + Aire.Row - MinAY, CibAX + Aire.Column - MinAX))
Next Aire
End Sub


Selection des plages de cellules, appel de la macro, la macro demande la cellule cible.
Attention, la cellule cible devient la cellule la plus haute de(s) la(es) plage(s) la(es) plus à gauche.
 
Dernière édition:
Re : Sélection complexe de cellules

Merci Celeborn61, je comprends mieux l'allusion de wilfried_42 concernant une macro.

Ta proposition me paraît très intéressante mais l'utilisation de la checkbox sera impossible dans mon cas car l'utilisateur final ne saura pas la renseigner.

Dans mon cas, si la sélection complexe démarre en colonne B ligne 4, elle sera toujours collée dans le nouveau fichier en colonne B ligne 4, cela peut-il permettre d'éviter la chekbox ?
 
Re : Sélection complexe de cellules

Oui, rigoureusement le même.
Il s'agit d'un fichier de gestion de temps de travail et des activités. Je fournis un fichier dans un version supérieure (calculs améliorés ou corrigés) qui doit aller chercher les valeurs déjà saisies dans le fichier précédent par l'utilisateur pour les placer dans les mêmes cellules du nouveau fichier. 🙂
 
Re : Sélection complexe de cellules

re:

Voici un fichier, qui fait une copier sur feuil1 avec un coller sur Feuil2 (voir une autre feuille) sur plage discontinues

2 choix, colllage des valeurs, collage des formules

En cas de collage sur une autre cellule que celle d'origine (Adressage), le decallage est automatiquement reporté sur les autre cellules à coller

Dans l'exemple, cela ce fait par bouton, mais ce n'est en aucun cas obligatoire, la methode de lancement peut etre modifiée
 

Pièces jointes

Re : Sélection complexe de cellules

Merci wilfried_42 !

Ton exemple fonctionne très bien et répond à mon problème.

Je me suis arrangé pour démarrer ma sélection en "A1" car sinon la macro bloque. Par contre, une fois tes macros intégrées dans mon fichier, la copie est systématiquement décalée de 2 colonnes vers la droite et 30 lignes vers le bas 😱

Je cherche l'erreur et préparerai un fichier de démonstration si je ne trouve pas par moi-même.

Merci !

ps : j'ai trouvé et j'ai très honte. Si je démarre ma sélection en "A1" sur le fichier d'origine, il fallait aussi que je sélectionne la cellule "A1" dans le fichier de destination avant de lancer le collage…
 
Dernière édition:
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…