| ||||||||
Petite astucienne | Bonjour,
Débutante en macro, je souhaite crée une macro qui marcherai en fonction du contenu de 2 cellules (origine : lycée ou collège et matière : math, francais...)et non pas en fonction des dites cellule (A1, A2).
Ci dessous voici celle que j'ai produit sur le fichier suivant
http://cjoint.com/?kFh7tl0OoB
En fait ce que je n'arrive pas à gérer avec vba [triste]c'est lorque les infos contenues dans des cellules changent de place. Savez vous comment je peux manipuler une donnée dont la place est variable?
Autre question, j'ai tenté d'insérer un bouton pour lancer cette procédure avec les conseils donnés sur ce forum(barre outil, personnalisé, commande, bouton personnalisé) mais au lieu de voir apparaître le bouton, j'ai l'impression que ça me relance la macro... si l'un d'entre vous sait ce que j'ai pas fait ou mal fait ça serait sympa de me dire quiquoiouquandcomment[chinois].
Merci d'avance.
Sub copiertotaux()
'
' copiertotaux Macro
' Macro enregistrée le 31/10/2005 par <
'
' Touche de raccourci du clavier: Ctrl+p
'
Range("h2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("source").Select
Range("h3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("source").Select
Range("h4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("source").Select
Range("h5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Range("C5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("source").Select
Range("h6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("source").Select
Range("h7").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("récap").Select
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C19").Select
Application.CutCopyMode = False
End Sub
| |||||||
Publicité | ||||||||
Astucien ![]() | Bonjour,
Je ne comprends pas bien ce que tu essayes de faire. Peux-tu nous apporter plus de précisions avec éventuellement un exemple ?
Une méthode pour créer un bouton pour exécuter ta macro est décrite dans le sujet "Bouton" du 25 octobre 2005 dans le présent forum. | |||||||
![]() | bonjour,
nomme tes cellules avec Insertion / Nom / Définir Nom dans le classeur = Orig1 (par exemple)
puis code ainsi :
Sheets("source").Range("Orig1").Copy
Sheets("récap").Range("C3").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Le nom de la cellule la suit quelque soit sa place.
A+
Modifié par galopin01 le 31/10/2005 10:55 | |||||||
Petite astucienne | Merci à tous les 2 pour votre intervention. Je n'ai pas été très clair je crois:
en colonne A: j'ai "collège"(A2) "lycée" (A5)"pensionnat" (A8)
en colonne B : j'ai les matières qui apparaissent plusieurs fois car elles sont utiles pour le champ "collège" et "lycée"
j'ai donc "math"(B2 ainsi qu'en B5 et également en B8)
"francais"(en B3, B6 et B9) ect pour les autres matières
Ce que je souhaite faire via VBA, c'est coller automatiquement le total des élèves qui apparaît en colonne "F" dans un fichier récap qui lui ne bouge pas. Or, je ne suis pas sur que "collège apparaitra en "A2" idèm pour "lycée" et le total.
Peut-on insérer une condition avant de lancer la macro qui colle les valeurs?
| |||||||
![]() | Bonsoir,
Si ce n'est pas toi qui remplit la feuille source alors évidement il est difficile de nommer les cellules.
A première vue, avec les éléments en notre possession je ne vois pas ce qu'on peut faire si tu ne maîtrises pas la feuille source.
Je flaire un problème du genre INDEX.EQUIV
Mais il faudrait bien plus qu'un aperçu pour t'être utile sur ce type de problème.
De plus dans ta macro tu fais des collages de la colonne H vers la colonne C et plus bas dans le texte tu nous parles de la colonne F. Difficile de s'y retrouver.
Par ailleurs à l'avenir ne multiplie pas les questions dans un sujet. Ca n'aide pas à la compréhension : on se demande s'il y a un rapport ou pas...
Bref, tel que présenté dans le fichier joint, difficile pour ma part de te proposer quoi que ce soit.
A+ | |||||||
Astucien ![]() | Bonjour,
Afin que tout le monde comprenne, j'ai mis en image un exemple de la situation
[img]http://img498.imageshack.us/img498/5918/source1in.jpg[/img]
[img]http://img498.imageshack.us/img498/7452/rcap1sc.jpg[/img] | |||||||
Astucien ![]() | Bonjour
Cette macro a été établie en considérant qu'il n'y a que
| |||||||
Petite astucienne | Galopin 1, en effet, je m'étais planté sur le descriptif en parlant de la colonne F, m'aiguiller vers la fonction "index equiv" est une solutio constructive que j'envisagerai si je me dépatouille pas avec le propo faite par Marmotte18 que je remercie également au passage.à bientôt. | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|