• Initiateur de la discussion Initiateur de la discussion JANO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JANO

XLDnaute Occasionnel
Bonjour le forum,

Pourriez-vous m'aider à modifier la macro ci-dessous, elle va chercher les infos dans une feuille pour les rajouter dans une autre.
Le problème est que maintenant j'ai deux condition et je ne trouve pas.
Si la valeur de la colonne A est = à la valeur de la colonne A de l'autre feuille et si valeur de la colonne B est = à la valeur de la colonne B de l'autre feuille alors raporter la valeur de la colonne C. (ci joint fichier)

La macro le fait déjà, mais quand faisant la comparaison de la colonne A

Merci pour votre aide

Sub Table()
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Columns("A:A").Select
Range("B1").Value = "Réponse"
Range("A2").Select
Do While ActiveCell <> ""
Réponse = "=VLOOKUP(RC[-1],table,2,0)"
If Not Application.IsNA(Réponse) Then
ActiveCell.Offset(0, 1) = Réponse
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("A1").Select
End Sub
 

Pièces jointes

Dernière édition:
Re : Va chercher donnee

Bonjour à tous,

Merci masterdisco

Y a-t-il une autre solution, sans utiliser des plages nommées dynamiques.

Avec la 1ère macro, ce qui était bien c'est que j'avais juste à nommer une plage table et je pouvais l'utiliser dans n'importe quel classeur

encore merci

bonne journée
 
Re : Va chercher donnee

Bonjour le forum,

j'ai un petit souci, avec la macro ci dessous, j'ai le retour suivant : #VALEUR! ce qui doit etre normal puisse-qu'il y a un =SOMMEPROD. ma colonne est en alpha numérique !

Tout la macro de masterdisco me convient sauf, que finalement je dois rapporter une valeur.

ci joint le fichier.

cordialement,

Sub Table()
Dim c As Range, imax As Integer, BaseLastRow As Integer
Dim Tab_Base_Col1 As String, Tab_Base_Col2 As String, Tab_Base_Col3 As String

With Sheets("base")
BaseLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
Tab_Base_Col1 = "base!" & .Range(.Cells(2, 1), .Cells(BaseLastRow, 1)).Address
Tab_Base_Col2 = "base!" & .Range(.Cells(2, 2), .Cells(BaseLastRow, 2)).Address
Tab_Base_Col3 = "base!" & .Range(.Cells(2, 3), .Cells(BaseLastRow, 3)).Address
End With

With Sheets("va chercher")
If .[b1].Value = "Réponse" Then .[b1].EntireColumn.Delete
imax = .Cells(.Rows.Count, 1).End(xlUp).Row
.Columns("B:B").Insert Shift:=xlToRight
.Range("B1").Value = "Réponse"
formule = "=SOMMEPROD((" & Tab_Base_Col1 & "=$A2)*(" & Tab_Base_Col2 & "=$C2)*" & Tab_Base_Col3 & ")"
.Range("B2").FormulaLocal = formule
.Range("B2").AutoFill Destination:=.Range("b2:b" & imax), Type:=xlFillDefault
End With
End Sub
 

Pièces jointes

Dernière édition:
Re : Va chercher donnee

Bonjour le forum,

comment dire à la macro, si la valeur de la colonne A est = à la valeur de la colonne A de l'autre feuille et si valeur de la colonne B est = à la valeur de la colonne B de l'autre feuille alors raporter la valeur de la colonne C. (ci joint fichier)

mais sans additionner juste repporter la valeur de la collonne C

merci de votre aide

bonne journée
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
402
Réponses
5
Affichages
671
Réponses
3
Affichages
251
Réponses
8
Affichages
252
Réponses
1
Affichages
242
Retour