De la bonne utilisation du Range

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

N

Newbe

Guest
Rebonjour à tous,
Je sais je post beaucoup mais je débute, j'ai un taf monstrueux (à mes yeux) et je m'en sors vraiment pas...

Alors voilà je cherche ici à tester un bout de mon code et ça marche pas 🙁
Le but ici est simplement de verifier le bon fonctionnement du "copier coller à la suite du tableau".

Je cherche à créer un Range comportant différentes colonnes (c'est là que ça bloque) et à le coller en dessous d'un tableau préexistant. J'ai donc essayer de récupérer 3 colonnes et de les coller en dessous d'elles mêmes mais visiblement j'ai un soucis dans mon code...

Sub Test()

Dim colaa As Range, colbb As Range, colcc As Range
Dim muti As Range


colaa = ActiveSheet.Cells(1, 1).Column
colbb = ActiveSheet.Cells(1, 2).Column
colcc = ActiveSheet.Cells(1, 5).Column

Multi = Union(colaa, colbb, colcc)

Multi.Select
Selection.Copy
Range("a65536").Select
Selection.End(x1Up).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste


End Sub
 
Re : De la bonne utilisation du Range

Salut,

colaa = ActiveSheet.Cells(1, 1).Column
colbb = ActiveSheet.Cells(1, 2).Column
colcc = ActiveSheet.Cells(1, 5).Column

Chercherais-tu à copier les colonnes 1 2 et 5?
Dans ce cas la, pourquoi ne pas passer par un

Range("A:A,B:B,E:E").Select

Edit : si tu ne connais pas l'enregistreur de macro, celui-ci donne:

Range("A:A,B:B,E:E").Select
Range("E1").Activate
Selection.Copy
Sheets("Feuil2").Select
ActiveSheet.Paste

pour un copier coller de la colonne 1,2,5 de la feuil1 vers les colonnes 1,2,3 de la feuil2
 
Dernière édition:
Re : De la bonne utilisation du Range

j'ai bien essayé
Range("colaa:colaa,colbb:colbb,colcc:colcc").Select

Où colaa et colbb étaient des string dans ce test là mais il me met une erreur du genre la methode Range à échoué.
Le problème c'est que les colonnes ne sont pas fixe d'où les variables colaa et colbb....
 
Re : De la bonne utilisation du Range

bonjour

les variables objets (range, sheets,...) doivent etre initialisées par l'instruction set.

si tu veux sélectionner toute une colonne il existe la propriété columns pour ceci :

Code:
dim colaa as range
 
set colaa=columns(1)  'initialisation de toute la colonne A
 
colaa.select 'selection de la colonne A.

par contre j'ai pas trop compris ce que tu voulais faire.

salut
 
Re : De la bonne utilisation du Range

J'ai rajouté des boites de dialogue pour m'adapter à ton cas :

A = InputBox("1ere colonne")
B = InputBox("2eme colonne")
C = InputBox("3ème colonne")

Union(Columns(CInt(A)), Columns(CInt(B)), Columns(CInt(C))).Select

Edit : Hervé j'ai viré ce bout de code qui ne fonctionnait pas de toutes facons car range +3 param
mais bien vu 😉
 
Dernière édition:
Re : De la bonne utilisation du Range

re

Ubot, pour rigoler, sans gestion d'erreur :

Code:
Dim A As Range
Dim B As Range
Dim c As Range
Dim multi As Range
 
Set A = Columns(Application.InputBox("1ere colonne", Type:=1))
Set B = Columns(Application.InputBox("2ème colonne", Type:=1))
Set c = Columns(Application.InputBox("3ème colonne", Type:=1))
Set multi = Union(A, B, c)
multi.Select

a plus

PS: ca fait un moment que j'avais pas fait n'importe quoi sur le forum, ca me manquait 😀
 
Re : De la bonne utilisation du Range

re

un dernier pour la route, à l'aide d'une boucle (toujours sans gestion d'erreur, flemme de me taper un error goto 😀)

Code:
Dim multi As Range
Dim i As Byte
 
For i = 1 To 3
    If multi Is Nothing Then
        Set multi = Columns(Application.InputBox("Colonne " & i, Type:=1))
    Else
       Set multi = Union(multi, Columns(Application.InputBox("Colonne " & i, Type:=1)))
    End If
Next i
 
multi.Select

bye
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
728
Z
Réponses
6
Affichages
819
L
Réponses
35
Affichages
3 K
Léraud Florian
L
A
Réponses
12
Affichages
2 K
AnjyD
A
Retour