[Catégorie modifiée VB6 --> VBA] Remplir une cellule en fonction d'une autre

Résolu
chlo28 Messages postés 2 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 27 septembre 2010 - 23 sept. 2010 à 15:42
chlo28 Messages postés 2 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 27 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.

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
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)
3
chlo28 Messages postés 2 Date d'inscription jeudi 23 septembre 2010 Statut Membre Dernière intervention 27 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.

Merci
0