Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU] Copier cellule suivant liste

jiby

XLDnaute Nouveau
Bonjour à tous,

Après m'être perdu dans les abysses de la VBA, je fais appel à vous.

Je cherche à faire une macro me permettant de faire la chose suivante :

Si dans la feuil "EXEMPLE", en A3, il y a "100", alors la macro doit aller chercher dans la feuille "ListRéf" la ligne
correspondant à la référence "100" et copier les infos à coté dans la feuille "EXEMPLE" et ainsi de suite pour
A4, A5 etc...

Mon fichier joint vous expliqueras un peu mieux.


Merci d'avance pour votre aide,

Jiby
 

Pièces jointes

  • RefListe.xlsx
    10.3 KB · Affichages: 38
  • RefListe.xlsx
    10.3 KB · Affichages: 37
  • RefListe.xlsx
    10.3 KB · Affichages: 38
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Copier cellule suivant liste

Bonjour à tous,

pas besoin de VBA, avec mode tableau dans les 2 feuilles

JHA
 

Pièces jointes

  • RefListe.xlsx
    13.1 KB · Affichages: 37
  • RefListe.xlsx
    13.1 KB · Affichages: 43
  • RefListe.xlsx
    13.1 KB · Affichages: 40

Victor21

XLDnaute Barbatruc
Re : Copier cellule suivant liste

Bonjour.

Pas sûr qe le VBA soit nécessaire. En C3 à recopier vers la droite et vers le bas :
=INDEX('Liste Réf'!$A$2:$D$4;EQUIV($B3;'Liste Réf'!$A$2:$A$4;0);EQUIV(C$2;'Liste Réf'!$A$1:$D$1;0))
.
Mais si vous y tenez, utilisez l'enregistreur de macro.
(Peut être simplfié en utilisant les noms définis dans "Liste Réf")

Edit : Bonjour, JHA
 
Dernière édition:

jiby

XLDnaute Nouveau
Re : Copier cellule suivant liste

Bonjour JHA et Victor21,

Je n'avais pas pensé à utiliser une formule comme cela, vos deux formules marche nickel ! J'ai plus qu'a choisir !

Un grand merci à vous !
 

Dormeur74

XLDnaute Occasionnel
Re : Copier cellule suivant liste

Je t'ai mis un petit exemple en VBA qui fonctionne quelque soit le nombre de références et le nombre de lignes dans le tableau "Exemple".
On n'a pas forcément besoin de VBA, mais je te l'ai mis quand même.

Code:
Option Explicit

Sub Macro1()
    Dim tableauRef() As Variant
    Dim nbRef As Long
    Dim X As Long, Y As Long
    Dim nbLignes As Long
    
    ' On dimensionne le tableau
    nbRef = Sheets("Liste Réf").Cells(Rows.Count, 1).End(xlUp).Row - 1
    ReDim tableauRef(nbRef, 4)
    ' On charge le tableau
    For Y = 1 To nbRef
        For X = 1 To 4
            tableauRef(Y, X) = Sheets("Liste Réf").Cells(Y + 1, X)
        Next X
    Next Y
    
    ' On calcule le nombre de lignes du tableau à remplir
    nbLignes = Cells(Rows.Count, 2).End(xlUp).Row - 2
    For Y = 1 To nbLignes
        For X = 1 To UBound(tableauRef)
            If Cells(Y + 2, 2) = tableauRef(X, 1) Then
                Cells(Y + 2, 3) = tableauRef(X, 2)
                Cells(Y + 2, 4) = tableauRef(X, 4)
                Exit For
            End If
        Next X
    Next Y
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…