Copier une cellule en fonction d'autres cellules
Résolu
siamens_duj
Messages postés
212
Statut
Membre
-
siamens_duj Messages postés 212 Statut Membre -
siamens_duj Messages postés 212 Statut Membre -
Bonjour, je fais appel à vous car je bloque sur un problème.
J'ai plusieurs feuilles dans un même classeur.
Dans la feuille "COR" je récapitules certaines correspondances entre les feuilles.
J'ai dans cette feuille, en colonne N la concaténation des cellules D, E et G. Je fais ensuite
la copie de ces valeurs en colonne M (afin de ne plus avoir la formule mais seulement les valeurs).
Dans la feuille "TXT", en colonne Y, je fais la concaténation des cellules B, C et D et je fais là
aussi une copie des valeurs en colonne Z.
Les champs de concaténation correspondent dans les deux cas au champs Nom, Prenom, et ID.
Je voudrais faire en sorte que si la valeur de la cellule en colonne M de la feuille "COR" est
égale à la valeur de la cellule en colonne Z de "TXT" alors la valeur de la cellule H de "COR"
est égale à la valeur de la cellule en colonne E de "TXT".
Ma feuille TXT fait environ 40.000 lignes et pour ma feuille COR cela dépend.
J'ai fais plusieurs codes mais à chaque fois j'ai "Excel ne répond pas".
Voici mon code :
Merci pour votre aide.
J'ai plusieurs feuilles dans un même classeur.
Dans la feuille "COR" je récapitules certaines correspondances entre les feuilles.
J'ai dans cette feuille, en colonne N la concaténation des cellules D, E et G. Je fais ensuite
la copie de ces valeurs en colonne M (afin de ne plus avoir la formule mais seulement les valeurs).
Dans la feuille "TXT", en colonne Y, je fais la concaténation des cellules B, C et D et je fais là
aussi une copie des valeurs en colonne Z.
Les champs de concaténation correspondent dans les deux cas au champs Nom, Prenom, et ID.
Je voudrais faire en sorte que si la valeur de la cellule en colonne M de la feuille "COR" est
égale à la valeur de la cellule en colonne Z de "TXT" alors la valeur de la cellule H de "COR"
est égale à la valeur de la cellule en colonne E de "TXT".
Ma feuille TXT fait environ 40.000 lignes et pour ma feuille COR cela dépend.
J'ai fais plusieurs codes mais à chaque fois j'ai "Excel ne répond pas".
Voici mon code :
Sub corres()
Dim u as long
Dim v as long
u = 2
v = 2
Do While Sheets("COR").Cells(u, 1).Value <> ""
If Sheets("COR").Cells(u, 13).Value = Sheets("TXT").Cells(v, 26).Value Then
Sheets("COR").Cells(u, 8).Value = Sheets("TXT").Cells(v, 5).Value
u = u + 1
Else
v = v + 1
If v = 40000 Then
u = u + 1
v = 2
End If
End If
Loop
end sub
Merci pour votre aide.
A voir également:
- Copier une cellule en fonction d'autres cellules
- Fonction si et - Guide
- Excel cellule couleur si condition texte - Guide
- Comment copier une vidéo youtube - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Proteger cellule excel - Guide
2 réponses
Bonjour
Essayez ceci
Cdlt
Essayez ceci
Sub Corres() Application.ScreenUpdating = False Sheets("COR").Select Range("H2:H" & [A100000].End(xlUp).Row).FormulaR1C1 = "=IFERROR(INDIRECT(""TXT!E"" & MATCH(RC[5],TXT!C26,0)),"""")" Range("H2:H" & [A100000].End(xlUp).Row).Value = Range("H2:H" & [A100000].End(xlUp).Row).Value End Sub
Cdlt
Voici un exemple du fichier, effacer la colonne H et cliquez sur le bouton
https://www.cjoint.com/c/FFunWaPrD6w
Si ça ne convient pas, mettez un extrait de votre fichier (sans données confidentielles) sur cjoint.com.
https://www.cjoint.com/c/FFunWaPrD6w
Si ça ne convient pas, mettez un extrait de votre fichier (sans données confidentielles) sur cjoint.com.
J'ai testé votre fichier et il fonctionne parfaitement, je ne comprends pas pourquoi cela ne fonctionne pas sur mon fichier ... Es ce parce que j'ai une version office 2007 ?
Aussi, devrais-je vous préciser qu'il arrive que des cellule de la colonne E de TXT soit vide ?
Je suis désolé je ne peux vraiment pas vous joindre mon fichier, tout son contenu est confidentiel. Cependant je vous remercie tout de même pour votre aide.
Aussi, devrais-je vous préciser qu'il arrive que des cellule de la colonne E de TXT soit vide ?
Je suis désolé je ne peux vraiment pas vous joindre mon fichier, tout son contenu est confidentiel. Cependant je vous remercie tout de même pour votre aide.
J'ai aussi excel 2007,
Même si des cellules de la colonnes E de TXT sont vides, ça fonctionne aussi, faites l'essai en effaçant des cellules de la colonne E.
Je suis désolé je ne peux vraiment pas vous joindre mon fichier, tout son contenu est confidentiel. Même en remplaçant les données confidentielles par des valeurs bidons? Dommage.
Cdlt
Même si des cellules de la colonnes E de TXT sont vides, ça fonctionne aussi, faites l'essai en effaçant des cellules de la colonne E.
Je suis désolé je ne peux vraiment pas vous joindre mon fichier, tout son contenu est confidentiel. Même en remplaçant les données confidentielles par des valeurs bidons? Dommage.
Cdlt
J'ai appliqué votre code, seulement, j'ai ceci dans les cellules de la colonne H de "COR" :
=IFERROR(INDIRECT("TXT!E" & MATCH(RC[5],TXT!C26,0)),"")