begin process at 2008 08 20 18:11:58
1 229 001 membres
360 nouveaux aujourd'hui
14 259 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Programmation Excel Macro [ Divers / Débutants ] (angeldu74)

Programmation Excel Macro le 28/04/2008 10:50:14

angeldu74

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.


Re : Programmation Excel Macro le 28/04/2008 11:06:08

pile_poil
Membre Club
Réponse acceptée !
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")

si c'est la solution, penser : REPONSE ACCEPTEE

Re : Programmation Excel Macro le 28/04/2008 11:11:28

jrivet
Membre Club
Réponse acceptée !
Salut,
Pour tes questiosn FUTURES  saches que tu travaille en VBA et qu'il possède sa propre section.

Thèmes / Visual Basic 6 / Langages dérivés / 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
By Renfield

Pour la suite regarde l'objet Range

@+: Ju£i€n
Pensez: Réponse acceptée

Re : Programmation Excel Macro le 28/04/2008 11:33:40

angeldu74
Réponse acceptée !
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

Pourriez vous m'aider svp ça serait top.

Re : Programmation Excel Macro le 28/04/2008 11:43:42

pile_poil
Membre Club
Réponse acceptée !
tant que  = Do While
fin tant que = Loop
pour 1 à 12  = for x = 1 to 12
fin pour = next x
consultes l'aide en ligne en faisant F1 pour les détails !

si c'est la solution, penser : REPONSE ACCEPTEE

Re : Programmation Excel Macro le 28/04/2008 11:54:38

angeldu74
Réponse acceptée !
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?

Merci pour votre aide. C'est super sympa!

Re : Programmation Excel Macro le 28/04/2008 12:14:21

pile_poil
Membre Club
Réponse acceptée !
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

si c'est la solution, penser : REPONSE ACCEPTEE

Re : Programmation Excel Macro le 28/04/2008 13:47:01

angeldu74
Réponse acceptée !
Merci pour toutes ces explications.
J'ai encore 2 petites questions...

1) Peut-on définir un range directement sur une feuille??
Ex: Mafeuille.range(A1:E1).select

2) Quel commande permet de convertir les cellules avec un point en virgule?
ex: 8.5 en 8,5

Merci encore pour votre aide.

Re : Programmation Excel Macro le 28/04/2008 13:57:41

jrivet
Membre Club
Réponse acceptée !
Salut,
1: le mieux est encore d'essayer non?
2: Essaie Replace

@+: Ju£i€n
Pensez: Réponse acceptée

Re : Programmation Excel Macro le 28/04/2008 21:43:39

angeldu74

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. @+



Classé sous : ligne, feuille, coeff, ca1, ca2

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
campagne Adwords
Budget : 5 000€
Boite echanges securis...
Budget : 500€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS