Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 04/02/2010, 11h52   #1
Membre actif
 
Date d'inscription: septembre 2006
Messages: 173
Par défaut Pb avec RANGE

Bonjour
Je souhaiterais selectionne des cellules non adjentes
j'ai ecrit le code suivante mais l'argument range n'aime pas
Code :
Range(Cells(a, 6), Cells(a, 5), Cells(a, 9), Cells(a, 13), Cells(a, 25), Cells(a, 27), Cells(a, 29)).Select
                Cells(a, 5).Activate
                Selection.Copy

comment faire ???????
fmris est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 12h15   #2
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

Salut,
Cells ne fonctionne pas avec les lettre mais avec les nombres,
Code :
Range("A6")
s'écrit:
Code :
Cells(6,1)
Pour faire une multisélection avec Range uniquement tu dois écrire du genre range("a" & 6) et ainsi de suite, il me semble donc plus facile d'écrire:
Code :
Dim MaPlage As Range
                
Set MaPlage = Application.Union(Cells(1, 6), Cells(1, 5), Cells(1, 9))
                
MaPlage.Copy
Je n'ai pas remis toutes les cellules concernées mais tu le fera facilement, tu constateras aussi que je n'ai pas fait de Select, en effet, ce n'est pas nécessaire, donc à éviter afin de ne pas ralentir le code.

A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 12h23   #3
Membre actif
 
Date d'inscription: septembre 2006
Messages: 173
Par défaut

je n'ai pas précisé que a est une variable
je sais que ca fonctionne avec deux arguments

Code :
For a = 2 To 1000
            If Cells(a, 6) = "Dépenses" Then
                Range(Cells(a, 6), Cells(a, 5), Cells(a, 9), Cells(a, 13), Cells(a, 25), Cells(a, 27), Cells(a, 29)).Select
                Cells(a, 5).Activate
                Selection.Copy
comment faire ??,
fmris est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 12h33   #4
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

Citation:
Envoyé par fmris Voir le message
je n'ai pas précisé que a est une variable



Suffit alors d'adapter ma réponse précédente...
Code :
Dim MaPlage As Range
For a = 2 To 1000
            If Cells(a, 6) = "Dépenses" Then
                Set MaPlage = Application.Union(Cells(a, 6), Cells(a, 5), Cells(a, 9), Cells(a, 13), Cells(a, 25), Cells(a, 27), Cells(a, 29))
                MaPlage.Copy
                Cells(a, 5).Activate
'...la suite de ton code
Ou sans passer par une variable qui récupère la Plage:
Code :
For a = 2 To 1000
            If Cells(a, 6) = "Dépenses" Then
                Application.Union(Cells(a, 6), Cells(a, 5), Cells(a, 9), Cells(a, 13), Cells(a, 25), Cells(a, 27), Cells(a, 29)).Copy
                Cells(a, 5).Activate
...
A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 23h05.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.