angeldu74
Messages postés37Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 5 juillet 2008
-
28 avril 2008 à 10:50
angeldu74
Messages postés37Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 5 juillet 2008
-
28 avril 2008 à 21:43
Bonjour, alors j'ai créé un bouton sur excel.
Je clic deux fois dessus sur le bouton et j'arrive sous VB.
(Private Sub CommandButton1_Click()
End Sub)
Dans mon classeur je dispose d'une feuille objectif et d'une feuille coeff.
Tout d'abord pourriez vous me fournir la commande pour créer une feuille 'Résultat' si elle n'est pas déjà créé svp.
Ensuite c'est un peu compliqué:
Je dois tout d'abord copier ma première ligne entête dans ma page 'Résultat'.
Après je parcours ma première ligne qui contient Mon code Pays, mon code client, mon code secteur, CA1, CA2.
Je copie cette ligne et je rajoute à la fin CA1*Coeff Janvier et CA2*Coeff Janvier.
Je recopie la ligne et je rajoute à la fin CA1*Coeff Février et CA2*Coeff Février.
Je recopie la ligne et je rajoute à la fin CA1*Coeff Mars et CA2*Coeff Mars.
Etc...
Les Coeff de chaque mois se trouve sur ma feuille Coeff.
Pourriez vous m'aider à réaliser cette manipulation svp.
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 28 avril 2008 à 11:06
bonjour
pour ajouter une feuille voir la commande Add
pour copier des cellules d'une feuille à l'autre
feuil(1).range("A1:E1").Copy
feuil(2).Paste
ou encore si les emplacements ne sont pas les memes
feuil(2).Range("A2;E2") = feuil(1).range("A1:E1")
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 28 avril 2008 à 11:11
Salut,
Pour tes questiosn FUTURES saches que tu travaille en VBA et qu'il possède sa propre section.
[infomsg.aspx Thèmes]
/ [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_LANGAGES-DERIVES_287.aspx Langages dérivés] / [infomsgt_VBA_244.aspx VBA]
Private Sub CommandButton1_Click()
Dim Ws As Worksheet
Dim Created As Boolean
'pour créer que si n'existe pas
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name = "Résultat" Then
Created = True
Exit For
End If
Next
If Not Created Then
Set Ws = ActiveWorkbook.Worksheets.Add
Ws.Name = "Résultat"
End If
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]
angeldu74
Messages postés37Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 5 juillet 2008 28 avril 2008 à 11:33
Super c'est exactement ce qui me faut.
Par contre pour l'objet range auriez vous un exemple svp.
Ma première page s'appelle "Objectifs pour 2008" et l'autre "Résultat".
Par exemple pour copier la première ligne je dois faire:
Objectifs pour 2008.Range("A2;E2") = Résultat.range("A1:E1")
Pourriez vous m'aider au niveau de la synthaxe svp.
A part ça, ptit exemple:
Je souhaite faire une boucle pour faire le calcul suivant
Feuille Objectifs pour 2008 'CA1' * Feuille Coeff 'Coeff Janvier'
En gros ça doit donner:
Tant que1 (On vérifie si on est toujours sur le mm client)
Tant que 2 ( On vérifie si le secteur est différent)
Pour 1 à 12
Faire calcul plus haut pour Janvier à Décembre
Insérer la ligne
Fin Pour
Fin Tant que 2
Fin Tant que 1
angeldu74
Messages postés37Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 5 juillet 2008 28 avril 2008 à 11:54
D'accord. Il me manque plus que la synthaxe pour le range.
Ah si, est ce possible d'incrémenter le nom d'une cellule automatiquement?
Par exemple verticalement de A1 à B1?
ou horizontalement de A1 à A2?
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 28 avril 2008 à 12:14
pour la syntaxe de range pareil que pour les autres fais F1 et tu auras toutes les explications
en gros :
Range("A1").select :selectionne la cellulle de la colonne A et de la rangée 1 c'est équivalent à Cells(1,1)
sachant que pour cells( a,b) A est la rangée et b la colonne
range("A1:C1").select :sélectionne les cellules A,B et C de la ligne 1
tu mets ce code dans l'évenement click d'un bouton
x = x+1
cells(x, 1).select
à chaque appui sur ce bouton
tu verras la selection de cellule dans ta feuille se déplacer de rangée en rangée
avec cells(1,x) tu la verra se déplacer de colonne en colone
à chaque appui sur ce bouton
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
angeldu74
Messages postés37Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 5 juillet 2008 28 avril 2008 à 21:43
Merci à tous j'ai réussi grâce à vos nombreux conseils!
C'était chaud pour les boucles mais j'ai géré.
Faut juste que je vois au niveau des paramètres et des formats des cellules.
Encore Merci. @+