chlo28
Messages postés2Date d'inscriptionjeudi 23 septembre 2010StatutMembreDernière intervention27 septembre 2010
-
23 sept. 2010 à 15:42
chlo28
Messages postés2Date d'inscriptionjeudi 23 septembre 2010StatutMembreDernière intervention27 septembre 2010
-
27 sept. 2010 à 15:03
Bonjour a tous,
Je suis debutante en VBA et j'ai un petit soucis sur lequel je ne vois vraiment pas par ou commencer.
Voila ce que je veux faire:
J'ai un tableau sur Excel 2003 qui repertorie des reparations qui ont ete realisees a certaines dates.
Connaissant la periodicite de ces reparations, j'aimerais que dans une 3eme colonne s'affiche la date de la prochaine reparation.
L'idee de base ne me semble pas tres complique mais il y a beaucoup de taches differentes et je crois que je m'embrouille la tete toute seule.
Je vous remercie d'avance et j'espere que vous pourrez m'aider.
A voir également:
[Catégorie modifiée VB6 --> VBA] Remplir une cellule en fonction d'une autre
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 sept. 2010 à 18:31
Salut
Alors découpons le problème en tâches individuelles :
-1- Sélectionner un ensemble de cellules
Puisque ton tableau renferme plusieurs lignes, il va te falloir sélectionner les cellules sur lesquelles portent l'analyse.
Sais-tu faire ?
Si non, enregistre une macro pendant que tu le fais à la main et tu auras le code, genre :
Click sur A1 puis Maj-Ctrl-Flèche_bas pour atteindre la dernière cellule contenant des données
-2- Parcourir un ensemble de cellules
Une fois que tu as défini un Range des cellules qui servirons de 'source', la lecture de chaque cellule se fait à travers ce genre de code qu'on retrouve partout :
Dim maCellule As Range
For Each maCellule In ActiveSheet.Range("D1:D10")
Debug.Print "Cellule " & maCellule.Address & ", contient " & maCellule.Value
Debug.Print "Cellule " & maCellule.Offset(0,2).Address & ", contient " & maCellule.Offset(0,2).Value
Next
Si tu ne connais pas cette structure de boucle, regarde les fonctions utilisées dans l'aide et fais des essais.
Notamment, apprends à utiliser .Offset, c'est très important pour pouvoir désigner une cellule voisine sans la nommer.
-3- Calculer des dates
Les calculs autour des dates s'articulent autour de :
- DateAdd pour ajouter ou retrancher des jours, semaines, mois, heures, ...
- DateDiff pour calculer une différence entre deux dates
Là aussi, tout est expliqué dans l'aide.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
chlo28
Messages postés2Date d'inscriptionjeudi 23 septembre 2010StatutMembreDernière intervention27 septembre 2010 27 sept. 2010 à 15:03
Bonjour,
Merci beaucoup d'avoir consacre du temps a mon probleme.
Je suis arrive de mon cote a realiser quelque chose de fonctionnel sans passer par une fonction de recherche comme je le voulais auparavant.