Remplissage Auto de cellules via une autre cellule en VBA

Bonjour à Tous,

J'ai besoin de votre aide pour remplir automatiquement des cellules par rapport à une autre en VBA.

Dans l'onglet Label sous ÉTIQUETTE DE "PIÈCE", quand j'inscris un numéro de pièce en W3,

j'aimerais que les cellules: Z70,AA6,W8,W11,AC11,AK11 se remplissent via les données de l'onglet Liste_Pièces.

Z70 se réfère à la colonne F de l'onglet Liste_Pièce

AA6 se réfère à la colonne G de l'onglet Liste_Pièce

W8 se réfère à la colonne D de l'onglet Liste_Pièce

W11 se réfère à la colonne B de l'onglet Liste_Pièce

AC11 se réfère à la colonne C de l'onglet Liste_Pièce

AK11 se réfère à la colonne E de l'onglet Liste_Pièce.

Et si possible, si le numéro de pièce inscris en W3 de l'onglet Label n'est pas ds l'onglet Liste_Pièces en colonne A,

que les cellules Z70,AA6,W8,W11,AC11,AK11 se vident.

Notez que ds l'onglet Liste_Pièces, il va y avoir environ 20,000 Lignes

Je joins mon fichier exemple.

Merci

Jean

Bonjour,

vous pourriez utiliser la combinaison des formules INDEX et EQUIV

par exemple en cellule AA6

=INDEX(Liste_Pièces!$G:$G;EQUIV($W$3;Liste_Pièces!$A:$A;0))

ps/ n'oublier pas de mettre au format Standard les cellules contenant une formule

et d'enlever les N/A sur la feuille Liste_Pièce plage F1:G2

Bonjour sabV,

J'ai mis les formules tel qu'indiquées. Les formules fonctionnent.

Mais si je change de numéro de pièce, je reçois N/A comme résultat.

J'ai enlevé les N/A dans l'onglet Liste_Pièces et mis les cellules en Standard dans l'onglet Label.

Je joins mon essai.

Merci

Jean

Bonjour Jean,

tous fonctionne bien sur mon poste,

j'ai mit une liste de validation (dynamique) en cellule W3,

peut tu refaire un test,

Bonjour sabV,

Avec la liste déroulante ça fonctionne. Mais je vais avoir une liste d'environ 20,000 pièces. Je ne peux pas faire un choix ds la liste déroulante, ça va être trop long.

Y a t'il un moyen plus rapide en VBA ?

Merci

Jean

Bonjour,

ça pourrait être avec un ListBox sur la feuille,

je joint un exemple,

mais comme je ne connais pas la manière dont cette feuille sera utilisé, c'est difficile de choisir la méthode appropriée

Bonjour sabV,

Le numéro de pièce est rempli manuellement. Avec le fichier que vous m'avez joint, vous m'avez donné l'idée de faire un ComboBox.

De cette manière je peux entrer la pièce voulue et les autres cellules se renseignent automatiquement. J'ai bloqué les cellules à remplir pour ne pas perdre les formules.

'Empêche Édition ds Cellule Choisies'
If Not Intersect(Target, Range("W3:AP5,W6:AP7,W8,W11:AP12,W37,W39,AG39")) Is Nothing Then
Application.EnableEvents = False
Range("AO8").Select
Application.EnableEvents = True
End If

Aussi j'ai ajouté qu'au Clic du ComboBox, il se vide, et vide les cellules qui se remplissent automatiquement.

Private Sub ComboBox_Pieces_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'Sur Simple Clic Vide le ComboBox_Pieces'
ComboBox_Pieces = ""
End Sub

Y a t'il un moyen qu'au lieu que les cellules indiquent N/A, que les les cellules soit vide.

Je joins le fichier avec le ComboBox et l'exemple du N/A.

Merci

Jean

na

oui, pour éviter les valeurs d'erreur vous pouvez modifier les formules en y ajoutant SIERREUR

=SIERREUR(INDEX(Liste_Pièces!$G:$G;EQUIV($W$3;Liste_Pièces!$A:$A;0));"")

Bonjour sabV,

La formule fonctionne très bien.

Mon fichier est maintenant fonctionnel.

Un GROS MERCI.

Vous m'avez fait avancer.

Jean

Rechercher des sujets similaires à "remplissage auto via vba"