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

remplacer données feuille A per donnes feuille B

  • Initiateur de la discussion Initiateur de la discussion yalefe
  • 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 !

Y

yalefe

Guest
Bonjour,

je recois tous les mois ( professionnellement) des données de communications telephoniques.

sur la feuille A , j'ai toutes les données de communications: le poste appelant, l'heure d'appel, la duree d'appel, le poste appelé ( Col G ), le cout, etc,..
(19476 lignes ce mois ci )

sur la feuille B, j'ai les noms des personnes ainsi que leur n° d'appel

ce que je souhaiterais faire c'est remplacer dans la feuille A tous les n° appelés ( donc tous les N° de la colonne G ) par leurs noms respectifs de la Feuille B

grosso modo, ce que l'on cherche a connaitre c'est le pourcentage en duree et en cout d'appels passés en interne

j'ai demarré la macro mais pour l'instant c'est pas terrible le résultat !!!

un ptit coup de main serait pas de refus

par avance merci beaucoup.
 
Bonsoir Valefe

Selon le vieil adage énonçant qu'un petit schéma vaut mieux qu'un long discours, il serait souhaitable que tu nous délivres un extrait explicite de ton projet.

Cordialement

CBernardT
 
voici a quoi ca ressemble
sur la feuille A j'ai ca

A ... ... ... G

1 xxx xxx xxx xxx 0615489745

2 xxx xxx xxx xxx 0610141519

3 xxx xxx xxx xxx 0694959697

.....
.....

et sur la feuille B j'ai ca
A B
1 Mme Gerard 0694959697
2 Mr Martin 0610141519
3 Mr Dupont 0615489745


en fait je cherche a remplacer dans la colonne G de la feuille A
les n° de telephone par les noms correspondants ( colonne A de la
feuille B)
 
Bonjour Valefe

Je pense que cette procédure derait réaliser le remplacement des N° par les Noms des personnes appelées.

Sub Remplacer()
Dim Tbl As Range
Dim MyRange As Range
Dim MyPlage As Range
Dim C As Range, Cbis As Range
'Copie des N° des appelés
Worksheets("A").Range("F2:F20").Copy Worksheets("A").Range("D2")
'Déclaration de variable de la feuille à traiter et du tableau de récapitulation
Set MyRange = Range(Sheets("A").Range("D2"), Sheets("A").Range("D100").End(xlUp))
Set MyPlage = Range(Worksheets("B").Range("C2"), Worksheets("B").Range("C100").End(xlUp))
' Boucle sur les N° de la feuille "A"
For Each C In MyRange
C.Select
'Boucle sur les N° de la feuille "B"
For Each Cbis In MyPlage
If Cbis = C Then ' Recherche du N° équivalent
C = Cbis.Offset(0, -1) ' Remplacement du N° par le Nom
Exit For
End If
Next Cbis
Next C
End Sub

Cordialement

CBernardT
 
Re

Deux choses :

J'ai limité à 100 lignes pour mon essai, mais la plage peu -être allongé jusqu'à 65536 je crois.

Enlever la ligne de code :

C.Select


qui ne sert qu'à vérifier soit la macro :

Sub Remplacer()
Dim Tbl As Range
Dim MyRange As Range
Dim MyPlage As Range
Dim C As Range, Cbis As Range
'Copie des N° des appelés
Worksheets("A").Range("F2:F20").Copy Worksheets("A").Range("D2")
'Déclaration de variable de la feuille à traiter et du tableau de récapitulation
Set MyRange = Range(Sheets("A").Range("D2"), Sheets("A").Range("D65536").End(xlUp))
Set MyPlage = Range(Worksheets("B").Range("C2"), Worksheets("B").Range("C65536").End(xlUp))
' Boucle sur les N° de la feuille "A"
For Each C In MyRange
'Boucle sur les N° de la feuille "B"
For Each Cbis In MyPlage
If Cbis = C Then ' Recherche du N° équivalent
C = Cbis.Offset(0, -1) ' Remplacement du N° par le Nom
Exit For
End If
Next Cbis
Next C
End Sub

Salut

CBernardT
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…