Écriture Macro ou Instruction VBA

Résolu
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous
Je travaille sur une feuille excel avec des zones deroulantes en "contrôle de Formulaires" pour sélectionner un enregistrement d'un onglet différent sur la même feuille Excel.
Une fois sélectionnée la cellule liée me donne une valeur correspondante à la ligne de l'enregistrement. Je souhaite me positionner directement sur la ligne de cet onglet sur une colonne bien précise (C) et modifier de façon automatique en incluant une valeur (Date du jour)
Quelqu'un pourrait il me dire si cela est possible et comment ?

Merci d'avance
Patrice débutant en VBA
A voir également:

2 réponses

Ant049 Messages postés 154 Date d'inscription   Statut Membre Dernière intervention   22
 
Bonjour à toi,

Le plus simple serait de joindre un fichier exemple.

Merci
0
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

Je débute sur ce site .... Comment joindre mon fichier Exemple ?
0
Ant049 Messages postés 154 Date d'inscription   Statut Membre Dernière intervention   22
 
0
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Ant049 Messages postés 154 Date d'inscription   Statut Membre Dernière intervention  
 
Fichier TEST envoyé
0
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
0
Ant049 Messages postés 154 Date d'inscription   Statut Membre Dernière intervention   22
 
Bonjour,

J'ai essayé de comprendre ce que tu veux faire mais ce n'est pas très clair.
Du coup, si tu veux déclencher cette action, tu dois créer un code dans ton CommandButton et mettre un code de ce type:

Définition de la valeur de ta cellule liée dans une variable
Var1 = Sheets("Portail").Cells(?,?).Value
Déplacement dans l'onglet et dans la cellule A2
Sheets("Emprunts").Activate
Cells(2,1).Select
Tant que la cellule n'est pas égale à Var1, descendre d'une ligne
Do while not ActiveCell.Value = Var1
Selection.Offset(1,0).Select
Loop
Décalage sur la cellule de la colonne C
Selection.Offset(0,2).Select
Définition de la date du jour pour cette cellule
ActiveCell.Value = Date
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Salut,

Pour utiliser une autre feuille, il faut utiliser :
sheet("nom de feuille")


Après pour ligne/colonne, tout dépend de comment elle est déterminée.
cells(1,2) 
avec 1 pour la ligne et 2 pour la colonne.
0
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
Et avec "cells" est ce que je peux affecter directement la ligne issue de ma liste déroulante ?
Exemple : je choisis un enregistrement de mon onglet Bibliothèque, la ligne 6 par exemple, j'affiche mes éléments dans une requête INDEX et je veux par Macro directement affecter la cellule C6 pour marquer l'indisponibilité de cet ouvrage. Cette colonne dépendra donc de ma première sélection dans ma liste déroulante ... l'idéal serait de trouver une instruction pour modifier C&Cellule liée
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Tu ne peux pas travailler sur une ligne entière mais bien sur sur ligne/colonne d'une autre feuille.
0
PatPR971 > Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention  
 
Mais comment écrire l'instruction VBA pour préciser que ma modifications se fera en Colonne C et ligne = à la valeur du lien ?
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Il y a une donnée spécifique dedans?
Tu peux lui dire physiquement l'endroit si il ne change jamais, sinon tu peux créer une boucle pour qu'il balaye et qu'il la retienne quand il passe dessus.
0
PatPR971 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

Merci Pierre et ANT049,
Mon problème est résolu, je l'ai contourné en modifiant le WHILE , à chaque passage, je descends d'une ligne et décrémente sa valeur de 1 et ça marche en testant tant que Var1 >0

Encore merci vous
Comme quoi, on apprends à tout âge
0