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
Bonjour, à tous

je cherche à perfectionner la feuille j'aurai deux questions
1) j'ai la colonne F qui se nome Avarie répétée, j'aimerai que toutes les lignes qui comporte le mot OUI soit regrouper en-tête
2) J'ai la colonne L qui se nome User , j'aimerai quand fonction que la cellule i soit remplie sont nom apparaisse dans la cellule de la colonne L

Merci encore

1031768


1031769
 

Staple1600

XLDnaute Barbatruc
Bonjour

Pour le point 1) utilise la fonctionnalité Trier offerte par Excel
(mais au préalable, appliquer un format personnalisé dans la colonne F: [=1]"OUI";[=2]"NON"
Pour avoir OUI dans la cellule, saisir alors 1 et pour NON 2
Ainsi avec un tri croissant, les OUI se retrouveront en haut de ta liste.

PS: J'ai testé. Cela fonctionne.
 

odohe

XLDnaute Occasionnel
Bonjour

Pour le point 1) utilise la fonctionnalité Trier offerte par Excel
(mais au préalable, appliquer un format personnalisé dans la colonne F: [=1]"OUI";[=2]"NON"
Pour avoir OUI dans la cellule, saisir alors 1 et pour NON 2
Ainsi avec un tri croissant, les OUI se retrouveront en haut de ta liste.

PS: J'ai testé. Cela fonctionne.

Merci Staple
j'ai appliqué la procédure que vous m'avez donné en modifient le code en [=OUI]"OUI";[=NON]"NON" pour que je puisse garder la fonction sélection rapide et cela fonctionne, j'aurai juste un petit bémol sans être ingrat mais je connais mes collègues ils sont encore plus nul que moi :p
je cherche plutôt une solution pour que cela se fasse automatiquement lorsque je clic sur la macro Refresh toute en gardent la sélection rapide OUI ou NON

Merci
 

Staple1600

XLDnaute Barbatruc
Re

J'allais y venir mais plus tard.
J'ai d'abord été remplir mon devoir civique ;)
Et là, je suis en plein épluchage

Nonobstant ma séance de pluches, je t'invite à pratiquer une séance d'enregistreur de macros ;)
Tu appliques ton tri tout en laissant tourner l'enregistreur.
Tu auras un code VBA de base pour automatiser cela.

Bon je retourne titiller mes légumes ;)

PS: Aucun collègue n'est nul sur Excel, il n'est simplement pas suffisamment ou correctement formé.
Et cela c'est un manque au niveau RH...
 

odohe

XLDnaute Occasionnel
Puré comment n'y ai-je pas pensé pour l'enregistrement de la macro voila c'est fait, je vais quand même essayé de place le code de la macro tri dans le code de la macro Refresh juste pour évité d'avoir trop de boutons de macro. ==> C'est fait et fonctionnel

Il me reste plus qu'a trouvé une solution concernant la question N° 2

Merci encore ;)

Ps : c'est vrai aucun collègues est nul à la base, c'est juste une question de motivation et un zeste de passion :p
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Pour le point 2), on peut s'inspirer de ce qui suit (ou pas ;))
A mettre dans le code de la feuille idoine
Et pour tester, saisir au hasard 1600 en I3 ;)
VB:
Private Sub Worksheet_Change(ByVal T As Range)
Dim vArr
'remplir vArr sur le même principe
vArr = Array(Array("A", "toto"), Array("B", "titi"), Array("C", "tutu"), Array(1600, "Staple"))
If T.Column = 9 Then
If Not IsError(Application.VLookup(T, vArr, 2, 0)) Then
T(1, 4) = Application.VLookup(T, vArr, 2, 0)
End If
End If
End Sub
 

odohe

XLDnaute Occasionnel
Feuille idoine?
j'ai placé le code dans la feuille PCC mais j'ai une erreur j'ai certainement dû faire une erreur quelle que part
Sinon pouvez-vous télécharger le fichier et l'essayé

Merci d'avance
 

Pièces jointes

  • odohe- recherche- v3.xlsm
    54.9 KB · Affichages: 2

Staple1600

XLDnaute Barbatruc
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.
 

odohe

XLDnaute Occasionnel
Je l'ai testé sur une feuille vierge il m'inscrit bien le nom qu'ont lui a associé, par contre je voulais qu'il indique le nom de la session Windows pour pas qu'il ai tricherie ( que toto signe à la place de lala) o_O
 

Staple1600

XLDnaute Barbatruc
Re

Il suffisait de dire clairement dans le message#33
Ce qui est loin d'être le cas ;)
Donc premier test avec ceci
VB:
Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 9 Then
T(1, 4) = Application.UserName
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 189
Messages
2 086 031
Membres
103 101
dernier inscrit
CyberAlex93