Comment realiser une macro

Comment realiser une macro - VB/VBA/VBS - Programmation

Marsh Posté le 16-06-2005 à 13:38:00    

Bonjour amis du forum,
 
J'ai reelement besoin d'aide. :(  
Je suis en stage en angleterre. J'ai a ma disposition un tableau que je dois automatiser ! Il represente des listes d'etudiants avec des semaines d'etudes. Je suis dans une ecole qui permet a des etrangers ou europeens d'apprendre ou ameliorer leur anglais. Dans ce tableau, j'aimerais que les semaines s'ajoutent et s'annulent automatiquement ! Je suis perdue et Google ne m'aide pas comme je le desirerai ! Je sais comment faire une macro mais je n'arrive pas a obtenir ce que je veux !
Si quelqu'un pouvait m'aider, ce serait vraiment sympa ! :jap:  
 
Je vous remercie d'avance.
 
Bye
Maria ;)

Reply

Marsh Posté le 16-06-2005 à 13:38:00   

Reply

Marsh Posté le 16-06-2005 à 13:55:55    

Pas très clair comme description du problème...

Reply

Marsh Posté le 16-06-2005 à 14:08:42    

Salut,
 
Tu peux préciser ton pb pour qu'on puisse t'aider, en joignant un fichier par exemple (< 50 Mo et sans espace)
 
De plus, peux tu me donner plus d'info sur ton école, ça m'intéresse.
 
A+

Reply

Marsh Posté le 16-06-2005 à 14:14:48    

Bonjour les gas,
Merci d'avoir repondu a mon appel au secours !
Je vous envoie le tableau pour que ce soit plus clair. La partie que je veux automatiser est en jaune.
L'ecole est dans le centre de Londres pour repondre a ta question Jerome, son nom est Mayfair School of English.
Leur site Internet est www.Mayfairschool.co.uk, je travaille dans le bureau, alors si tu veux appeler, tu peux et demande-moi a ce moment-la, mais pas au nom de Maria, au nom de Babita. Sur leur site, tu trouveras les infos que tu veux.

Reply

Marsh Posté le 16-06-2005 à 14:28:28    

Comment je joins un fichier sur un site comme celui-la?

Reply

Marsh Posté le 16-06-2005 à 14:59:02    

...


Message édité par jerome-gmc le 28-06-2005 à 09:07:02
Reply

Marsh Posté le 16-06-2005 à 16:07:49    

Voila mon probleme Jerome: J'ai un tableau qui presente les noms et prenoms des etudiants, leurs nationalites, les types de cours demandes par chacun, ensuite les semaines des mois de mai, juin et juillet, puis enfin les dates auxquelles ils commencent et finissent.
La partie du tableau que je veux automatiser est celle qui concerne les semaines des mois de mai, juin et juillet. J'aimerais que lorsqu'une semaine est terminee, elle disparaisse pour laisser la place a la semaine qui suit car c'est moi qui doit chaque semaine le faire manuellement. Je sais que les macros servent a automatiser des taches repetitives. Pourrais-tu m'aider?

Reply

Marsh Posté le 16-06-2005 à 16:37:55    


 
Essaye ce code, il n'est pas optimisé mais il marche:
 
Sub test()
Dim i, compteur
 
compteur = 1
 
For i = 1 To 10 'pour les lignes 1 à 10...
 
If Range(Cells(i, 3), Cells(i, 3)).Value < Date Then 'si date < date actuelle(...de la colonne C)
Rows(i).Delete 'supprime la ligne
i = i - 1
ElseIf compteur = 10 Then
i = 10
End If
compteur = compteur + 1
Next
 
End Sub
 
 
A+

Reply

Marsh Posté le 16-06-2005 à 17:07:46    

OK, je vais essayer, j'espere que cela va marcher car je n'en peux plus !

Reply

Marsh Posté le 16-06-2005 à 18:03:57    

Je voulais te demander si je devais egalement ecrire ce qui etait en francais concernant ce que tu m'as donne ?

Reply

Marsh Posté le 16-06-2005 à 18:03:57   

Reply

Marsh Posté le 16-06-2005 à 18:09:25    


Le "i" et le "compteur" sont des variables défini par l'utilisateur, donc on peut écrire ce que l'on veut.

Reply

Marsh Posté le 16-06-2005 à 18:15:30    

J'ai ecrit exactement ce que tu m'as donne, le resultat est assez surprenant car mon tableau disparait et le classeur d'Excel se met a clignoter sans arret ! J'ai du faire un arret manuel pour tout stopper ! Je dois etre stupide ! Peut etre que je n'ai pas tout bien fait ! Je ne comprends pas tout du vocabulaire informatique ! C'est un peu etranger pour moi ! Mais merci d'avoir essaye de m'aider !  

Reply

Marsh Posté le 16-06-2005 à 18:44:01    

En faite la macro tourne sur toutes les lignes, le compteur n'arrive jamais a 10.
 
Ca m'a fait la même chose au début, j'ai du ajouter le compteur pour certain exemple, j'ai peut être pas pris en compte toutes les possibilités.
 
As tu activé "option explicite" dans VBA , (ça doit être écrit en haut de chaque feuille et module)? Cela t'oblige a déclarer tes variable et donc évite les fautes de frappe.
 
Donne moi un exmple si tu veux...

Reply

Marsh Posté le 16-06-2005 à 19:23:17    

Je reessaierai demain, je dois partir a present, je te dis a demain matin. Je te remercie vraiment de te donner tant de mal pour m'aider.
 
A demain bye :jap:

Reply

Marsh Posté le 17-06-2005 à 14:23:01    

Jerome, salut. Je ne trouve pas l'option explicite dans VBA, dans la feuille ou le module. Moi, les logiciels se presentent en anglais ici. Je comprends ce n'est pas le probleme, mais je ne le trouve pas. J'ai Microsoft 2003.

Reply

Marsh Posté le 17-06-2005 à 15:30:56    


 
Salut,
 
 
Tu peux d'une part écrire "option explicit" en haut de la feuille ou du module (avant le sub).
 
D'autre part l'activer pour que ça s'affiche automatiquement à chaque création de module:
Sous VBA : outils/option/ onglet éditeur, cocher la case "déclaration des variables obligatoire"  (2ème ligne à cocher en francais)
 
Envoi un exemple et j'essairais de d'aider.
 
A+

Reply

Marsh Posté le 20-06-2005 à 11:19:03    

Salut,
 
Tu t'en sors Maria?
 
A+

Reply

Marsh Posté le 22-06-2005 à 11:16:40    

En fait je viens tout juste d'avoir tes mess !
J'avais laisse ce probleme de cote !
Je vais essayer tout ce que tu viens de me donner et j'espere que cette fois sera la bonne...

Reply

Marsh Posté le 22-06-2005 à 11:49:26    

Coucou Jerome, je vais te recopier la formule avec les rangees que je veux automatiser, tu me diras ce que tu en penses : compteur c'est meter en anglais.
Sub test()
 
Dim i, meter
 
meter = 8
 
For i = 8 To 33
 
If Range(Cells(i,3), Cells (i,3)).Value < Date Then
Rows (i).Delete
i = i - 8
ElseIf meter = 10 Then
i = 33
End If
meter = meter + 8
Next
 
End Sub
 
Alors qu'en penses-tu ?

Reply

Marsh Posté le 23-06-2005 à 08:09:38    


Salut,
 
3ème ligne en partant du bas c'est plutot:
"meter = meter + 1" pour que chaque lignes soient vérifiées.
 
Car si tu mets "8" ça va avancer de 8 lignes en 8 lignes.
 
Dis moi si ça marche

Reply

Marsh Posté le 27-06-2005 à 15:17:04    

Bonjour Jerome,
J'ai ecrit  Option explicit sous la feuille module, j'ai essaye le code. Mais tout cela ne change rien ! J'ai toujours le meme probleme... C'est vraiment bizarre !

Reply

Marsh Posté le 27-06-2005 à 16:49:30    


Salut,
 
Tu as pris connaissance ma dernière réponse?
 
A+

Reply

Marsh Posté le 27-06-2005 à 18:03:57    

oui je t'ai repondu tu n'as pas vu? Le code que tu m'as donnne ne marche pas !

Reply

Marsh Posté le 28-06-2005 à 09:04:03    

Salut,
 
Peux tu m'envoyer ton nouveau code, je ne vois ou est le problème. Je pensais que le problème venait du "8", car le code marche bien chez moi.
 
A+

Reply

Marsh Posté le 28-06-2005 à 12:36:53    

Coucou,
Je pense que peut-etre je n'ai pas fait les choses comme il fallait. J'ai pourtant active l'option explicit sous la feuille de module, mais toujours le meme probleme. Je verrai cela plus tard... Je vais verifier a propos de l'option explicit... Le code est le meme, je n'en ai pas de nouveau. Je te recontacterai.
Bye.

Reply

Marsh Posté le 29-06-2005 à 15:10:46    

Salut,
Ecoute ton code ne fonctionne pas avec moi. J'ai tout refait encore et encore, en respectant ce que tu m'as donne mais il n'y a rien a faire, cela ne veut pas marcher...
Je chercherai un autre moyen. Merci quand meme.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed