A voir également:
- Macro excel simplification d'expression
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
3 réponses
salut
tu pourrais effectivement utiliser un sélecteur (case, switch, select selon les langages) mais à être dans Excel, autant faire de l'Excel !
1. sélectionner F4:F28 et nommer cette sélection Solution1
2. sélectionner G4:G28 et nommer cette sélection Solution2
3. sélectionner H4:H28 et nommer cette sélection Solution3
4. sélectionner I4:I28 et nommer cette sélection Solution4
5. Modifier ton code en
tu pourrais effectivement utiliser un sélecteur (case, switch, select selon les langages) mais à être dans Excel, autant faire de l'Excel !
1. sélectionner F4:F28 et nommer cette sélection Solution1
2. sélectionner G4:G28 et nommer cette sélection Solution2
3. sélectionner H4:H28 et nommer cette sélection Solution3
4. sélectionner I4:I28 et nommer cette sélection Solution4
5. Modifier ton code en
Range(Cells(32, 36)).Select Selection.Copy Range("M3").Select ActiveSheet.Paste
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
3 janv. 2010 à 11:03
3 janv. 2010 à 11:03
Bonjour,
Un peu plus court ?
A+
Un peu plus court ?
Sub Copie() Dim A As String Select Case Cells(32, 34) Case "Solution1": A = "F4:F28" Case "Solution2": A = "G4:G28" Case "Solution3": A = "H4:H28" Case "Solution4": A = "I4:I28" End Select Range(A).Copy Range("M3") End Sub
A+
Encore moi...
Où est la blague si je procède comme ça:
Sheets("toto").Select
Dim A As String
Select Case Cells(32, 36)
Case "Sol1": A = Sheets("tata").Range("F4:F28")
Case "Sol2": A = Sheets("tata").Range("G4:G28")
Case "Sol3": A = Sheets("tata").Range("H4:H28")
Case "Sol4": A = Sheets("tata").Range("I4:I28")
End Select
Sheets("toto").Select
Range(A).Copy Range("M3")
C'est-à-dire que je veux écrire sur la feuille toto à partir de critères situés sur toto des plages situées sur tata...
Où est la blague si je procède comme ça:
Sheets("toto").Select
Dim A As String
Select Case Cells(32, 36)
Case "Sol1": A = Sheets("tata").Range("F4:F28")
Case "Sol2": A = Sheets("tata").Range("G4:G28")
Case "Sol3": A = Sheets("tata").Range("H4:H28")
Case "Sol4": A = Sheets("tata").Range("I4:I28")
End Select
Sheets("toto").Select
Range(A).Copy Range("M3")
C'est-à-dire que je veux écrire sur la feuille toto à partir de critères situés sur toto des plages situées sur tata...
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
3 janv. 2010 à 19:59
3 janv. 2010 à 19:59
Evidemment que ça marche pas.. tu mélange des pommes et des automobiles .:D
Quand ru met du code c'est préférable que ru l'entoure des balises Code.
Sélectionner le code et cliquer sur le bouton "Conserver la mise..." (le bouton blanc) de l'éditeur de texte.
Possible que je n'ai pas bien compris et que tu doive intervertir toto et tata
A+
Edit:
Mais en relisant le code que tu met dans ton premier poste je constate que tu teste et copie sur LA MÊME FEUILLE--
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Sub Copie() Dim A As String Sheets("tata").Select Select Case Cells(32, 34) Case "Solution1": A = "F4:F28" Case "Solution2": A = "G4:G28" Case "Solution3": A = "H4:H28" Case "Solution4": A = "I4:I28" End Select Sheets("tata").Range(A).Copy sheets("toto").Range("M3") End Sub
Quand ru met du code c'est préférable que ru l'entoure des balises Code.
Sélectionner le code et cliquer sur le bouton "Conserver la mise..." (le bouton blanc) de l'éditeur de texte.
Possible que je n'ai pas bien compris et que tu doive intervertir toto et tata
A+
Edit:
Mais en relisant le code que tu met dans ton premier poste je constate que tu teste et copie sur LA MÊME FEUILLE--
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Merci,
A mon tour de te donner un conseil:
Tu devrais publier ton catalogue de citations de Gide à Confusius. Il y a des gens qui sont très friands de telles informations.
Ca leur permet de les caser en toute occasion en se donnant le sentiment d'être cultivés voire spirituels… Si si, publie, ça plaiera!
A mon tour de te donner un conseil:
Tu devrais publier ton catalogue de citations de Gide à Confusius. Il y a des gens qui sont très friands de telles informations.
Ca leur permet de les caser en toute occasion en se donnant le sentiment d'être cultivés voire spirituels… Si si, publie, ça plaiera!
3 janv. 2010 à 10:45
Je crois que je me suis mal exprimé:
Ce que je voudrais, c'est que selon le texte de la cellule(32,36): "solution1"," solution2"," solution3"," solution4", je colle en M3 la plage (F4,F28), la (G4,G28), la (H4,H28) ou la (I4,I28).
J'espère avoir été plus clair...
Merci.
5 janv. 2010 à 02:21
Ça marche très bien au contraire :-)
Le nommage que j'utilise est Insertion -> Nom -> Définir
son raccourci est de taper un nom dans la "Zone Nom" au début de la barre de formule
Ça permet de nommer la plage F4:F28 en - par exemple - Solution1
Si ensuite, on utilise Range("Solution1").Select, ça revient à sélectionner la plage F4:F28
Si le mot "Solution1" se trouve en AJ32 - aka Cells(32,36) - utiliser Range(Cells(32, 36)).Select revient à utiliser Range("Solution1").Select
^ Ça, c'est de l'Excel
5 janv. 2010 à 02:33
c'était un plaisir
5 janv. 2010 à 10:13
Ta demo m'a ouvert des portes.
5 janv. 2010 à 11:02
ça se complique dans les conditions suivantes:
la cellule(32,36) est sur la feuille1
les plages (F4:F28)...(I4,I28) sont sur la feuille2
et je veux écrire un de ces plage enM3 de la feuille1
Si tu peux...Merci.