Microsoft 365 Saisie automatique dans cellule en fonction d'une autre

odohe

XLDnaute Occasionnel
Bonjour, à tous

je tiens à préciser que je suis novice.
Voila ma question j'ai un classeur qui se nomme PCC y aurait-il possibilité avec un code VBA d'inscrire automatiquement dans les cellules de la colonne B en fonction du nombre indiquer dans les cellules A et qui va rechercher le résultat sur le classeur nommer Affectation Tram
Voici un exemple que j'aimerai obtenir

Classeur PCC
1031721


Classeur Affectation Tram
1031717



Ps: j'ai bien une formule qui fonctionne assez bien mais c'est pas terrible d'avoir des formule inscrit dans les cellules

1031718
=RECHERCHEV(A3;'Affectation Tram'!Y1:Z397;2;FAUX)

Merci d'avance pour votre aide.
 

odohe

XLDnaute Occasionnel
Re

Oui la feuille idoine.
Et évidemment on ne peut pas avoir deux procédures Worksheet_Change sur la même feuille ;)

Ce n'est pas grave, pour juste tester le dernier code VBA proposé, copie-le dans la première feuille venue d'un classeur vierge.
Et donc saisis en I7 par exemple, 1600 et observe ce qui s'affiche alors en L7
;)

Partant de cette observation, va falloir adapter en conséquence
Par exemple pour se simplifier la vie, mettre la formule RECHERCHEV sans passer par VBA.

Sorry Staple c'est vrai que je n'ai pas été tout a fait clair sur mon message 33 :(
Le code que vous m'avez donné fonctionne, par contre si j'ai bien compris votre précédent message, je ne sais pas placé 2 procédures Worksheet
par contre je suis preneur pour la formule

;)
 

Staple1600

XLDnaute Barbatruc
Re

[mapomme]
[aparté]
J'avions été voté au mitan de la journée.
Et de prime abord, je fus moi chafouin car il y avait la queue devant l'isoloir!
Et j'aime pas faire la queue (Sauf si c'est HFT qui la chante ;) )
Après avoir réfléchi 17 secondes, je fus moins chafouin, me disant que c'était bon signe si l'humanité de France est nombreuse dans l'isoloir.
[/aparté]

Pour retourner dans le monde de la Cellule, m'en vais voir cette histoire de tri à ta sauce ;)
(tri qui chez moi s'est fait par le biais d'un format personnalisé)
 

Staple1600

XLDnaute Barbatruc
Re

[odohe]
Houla tu te mélanges les pinceaux, nom d'un petit bonhomme
Pour l'username c'est ceci
VB:
Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 9 Then
T(1, 4) = Environ("username")
End If
End Sub

• Quant à la formule, je parle de celle que j'ai posté dans le message#2
Donc il te faut derechef retourner voir le message#2 ;)

EDITION
mapomme
Very smart, le coup de la liste personnalisée
Reste à savoir ce qui est plus long
Appliquer un format personnalisée sur une colonne
ou
créer une liste personnalisée?
;)
 

odohe

XLDnaute Occasionnel
Oui je pense vous avoir compris mais comme vous me l'aviez evoqué plus haut je ne sais pas utilisé
deux procédures Worksheet_Change sur la même feuille
c'est de là que vous m'aviez proposé d'utilisé la formule du message 2 mais le souci cette formule était pour rechercher les données sur une autres feuilles non pas pour ma demande de username
je ne sais pas si je me suis bien fais compris o_O
 

Staple1600

XLDnaute Barbatruc
Re

Ma suggestion est la suivante
La formule est saisie manuellement et recopiée vers le bas.
Pour la procédure événementielle, on ne garde que celle que je t'ai proposée dans le message#53

Fais le test.

Qu'est-ce que cela donne à l'usage?
 

Staple1600

XLDnaute Barbatruc
Re

Autre suggestion (si tu veux du tout VBA)
Donc dans le code de la feuille idoine
Remplace l'existant par les procédures ci-dessous
VB:
Private Sub Worksheet_Activate()
Dim DerL As Long
DerL = Cells(Rows.Count, 1).End(3).Row
Range("B3:B" & DerL + 5) = "=IFERROR(VLOOKUP(RC[-1],'Affectation Tram'!R1C25:R99999C26,2,FALSE),"""")"
End Sub

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 9 Then
T(1, 4) = Environ("username")
End If
End Sub
PS: Je laisse deviner à quoi sert le +5 et pourquoi au lieu de +5, on pourrait mettre +13 ou +32
Bref +N
 

odohe

XLDnaute Occasionnel
Sorry pour le retard, obligation conjugal mais celui que je désirais :p
je n'y arrive pas je dois vraiment être nul! j'ai placer les code que tu me propose mais je dois certainement bloqué quelque part, je pense qu'il faudra que je sacrifie des commandes VBA comme vous me l'avez dit, donc soit je place juste celui là en code VBA
Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 9 Then
T(
1, 4) = Environ("username")
End If
End Sub
Et pour les affectation des trams je prendrai la formule que vous m'aviez donné dans le poste 3
par contre serait il possible que vous me fassiez une formule pour les dates
- j'écrit à partir de la colonne A3 et les dates s'inscrivent dans les cellules de la colonne C3
-
j'écrit à partir de la colonne i3 et les dates s'inscrivent dans les cellules de la colonne J3

Merci

1031813
 

Staple1600

XLDnaute Barbatruc
Re

Dans le message#56, il y a deux macros.
Donc toujours dans le feuille idoine, il ne doit y a voir que ces deux codes.
Ni plus ni moins.
Une fois que cela est fait, sélectionne une autre feuille, puis retourne sur la feuille idoine.

Saisis un numéro de TRAM en colonne A puis une valeur dans la colonne Réparé par.

Normalement, il doit se passer quelque chose, non ?
 

odohe

XLDnaute Occasionnel
Au risque de paraitre bête c'est quoi cette feuille idoine ou là trouver? c'est juste une feuille que vous avez nommer idoine?
Alors cela veut dire que je crée une nouvelle feuille que je nome comme bon me semble et ou je place le code donner tout en suivent la manipulation donné.
 

Staple1600

XLDnaute Barbatruc
Re,

Voir le lien que je t'ai mis dans le message idoine;)
(message#40)

PS: Si la fatigue te guette, on peut continuer demain.
Car je vais pas tarder à utiliser ma zapette et appuyer sur le bouton idoine pour atterrir sur la chaîne TV que je souhaite regarder ce soir. ;)

NB: J'ai mis aussi un lien dans ce message.
Normalement, avec tout cela, tu as du désormais trouvé quelle était la feuille idoine, non ? ;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 190
Messages
2 086 040
Membres
103 105
dernier inscrit
fofana