Copie date suivant adresse d'une cellule

3roby6833-0.zip (47.12 Ko)

Bonjour le Forum,

Je ne trouve pas une solution à mon problème. Soucis de comment aller vers une cellule avec une adresse ecrite dans une cellule.

j'aimerais que lorsque je saisie une date dans la colonne W7 à W1000 se lance plusieurs actions (VBA) :

1°) vérifier si c'est bien une date

2°) aller à l'adresse indiquée en X7 à X1000 ( la Cible ) . Je ne sais pas faire avec les codes que je connais.

3°) copier la date de la cellule saisie en W7 à W1000 à l'adresse sélectionnée en X7 à X1000 ( Date 4 - Cible )

3°) copier également la même date 2 cellules avant ( Date 4 - Cible donc en Date 2 aussi )

4°) Si Ok - effacer la ligne sur Accueil de Q7 à X7

5°) refaire un tri sur la Date Butoir ( Feuille Accueil )

6°) utilisation de screenupdating =false et true pour rester en visuel sur la feuille Accueil

Précisions :

les feuilles 1 01 1 02 etc sont normalement masquées

Bonjour,

Essayez ceci, la macro réagit à chaque saisie ou modification d'une date dans la colonne W de la feuille "Accueil".

Cdlt

Bonjour le Forum, Arturo83

Ton code fonctionne à priori très bien, peux- tu m'éclaircir sur les instructions suivants :

Pos_PtInterro = InStr(1, Adresse, "!", 1)
Feuille = Left(Adresse, Pos_PtInterro - 1)
Adr = Mid(Adresse, Pos_PtInterro + 1, Len(Target.Offset(0, 1).Value) - Pos_PtInterro)

Je penses que c'est pour sélectionner la cellule dont l'adresse est en "X" dans les différentes feuille 1 01 etc...

très cordialement

Bonjour,

Le but est de récupérer le nom de la feuille et l'adresse de la cellule à remplir de cette même feuille, pour cela, il faut rechercher un caractère unique pour isoler chaque élément, on prend donc le point d'exclamation. Par la suite, il suffit de prendre les valeurs qui sont de part et d'autre de ce point d'exclamation.

Pos_PtInterro = InStr(1, Adresse, "!", 1) recherche de la position du point d'exclamation dans l'adresse.
Feuille = Left(Adresse, Pos_PtInterro - 1) on prend tous les caractères situés à gauche du point d'exclamation pour isoler le nom de la feuille.
Adr = Mid(Adresse, Pos_PtInterro + 1, Len(Target.Offset(0, 1).Value) - Pos_PtInterro) on prend tous les caractères situés après le point d'exclamation pour isoler la l'adresse de la cellule recherchée. Comme le nombre de caractères qui constitue l'adresse de la cellule peut être variable, on prend le nombre de caractères total Len(Target.Offset(0, 1).Value) auxquels on soustrait la position du point d'exclamation, ainsi on récupèrera toujours l'adresse complète indépendamment du nombre de caractères.

Cdlt

Bonsoir le Forum, Arturo83

Merci pour les explications, je comprends mieux et cela peut me servir pour la prochaine fois

bonne soirée à tous

Roby

Rechercher des sujets similaires à "copie date suivant adresse"