Excel programmation
Résolu
caba_44
Messages postés
107
Statut
Membre
-
caba_44 Messages postés 107 Statut Membre -
caba_44 Messages postés 107 Statut Membre -
Bonjour,
Je suis nouveau sur ce site. Je suis aussi débutant pour excel. Cependant, j'ai une problématique complexe.
Je dois qualifier un fichier excel (30000 lignes de contact sur la feuille 1 sans les adresse emails, et 2500 lignes de contacts dans la feuille 2 avec les adresse emails) Ces 2500 lignes de contacts sont aussi présents dans la feuille 1 au 30000 lignes de contact.
L'objectif est de faire en sorte de mettre les adresses emails de la feuille 2 sur la bonne ligne de contact de la feuille 1 sachant que les adresses emails sont à inscrire au niveau de la colonne W. Et tout ça automatiquement.
Ceci impose de repérer les lignes identiques dans chaque feuille en fonction du numéro de téléphone ou adresse ou autres (à préciser) et que si c'est = alors la cellule de la ligne de la feuille 2 ira se coller à la cellule identique de la ligne identique de la feuille 1.
Voilà en espérant avoir été clair.
Je précise que dans la feuille 1 il y a d'autres informations qu'il n'y a pas dans la feuille 2 d'où l'obligation de coller de feuille 2 vers feuille 1 automatiquement.
Merci de votre aide, en espérant que ce n'est que formalité tout simple que de résoudre ce problème pour vous
A bientôt Mathieu
Je suis nouveau sur ce site. Je suis aussi débutant pour excel. Cependant, j'ai une problématique complexe.
Je dois qualifier un fichier excel (30000 lignes de contact sur la feuille 1 sans les adresse emails, et 2500 lignes de contacts dans la feuille 2 avec les adresse emails) Ces 2500 lignes de contacts sont aussi présents dans la feuille 1 au 30000 lignes de contact.
L'objectif est de faire en sorte de mettre les adresses emails de la feuille 2 sur la bonne ligne de contact de la feuille 1 sachant que les adresses emails sont à inscrire au niveau de la colonne W. Et tout ça automatiquement.
Ceci impose de repérer les lignes identiques dans chaque feuille en fonction du numéro de téléphone ou adresse ou autres (à préciser) et que si c'est = alors la cellule de la ligne de la feuille 2 ira se coller à la cellule identique de la ligne identique de la feuille 1.
Voilà en espérant avoir été clair.
Je précise que dans la feuille 1 il y a d'autres informations qu'il n'y a pas dans la feuille 2 d'où l'obligation de coller de feuille 2 vers feuille 1 automatiquement.
Merci de votre aide, en espérant que ce n'est que formalité tout simple que de résoudre ce problème pour vous
A bientôt Mathieu
A voir également:
- Excel programmation
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
24 réponses
Bonjour,
Si j'ai bien compris tu ne voudrais plus voir le message 'n° inconnu etc" et passer directement au suivant ?
Si j'ai bien compris tu ne voudrais plus voir le message 'n° inconnu etc" et passer directement au suivant ?
oui si possible, car dans "base1" il y a des numéros de téléphones qui n'existent pas dans "Base".
Prédemment, le programme réalisé fonctionnait à condition que tous les numéros de "Base1" soit aussi existants dans "Base".
Or, je me suis aperçu que ce n'était pas toujours le cas.
Cela est-ce possible ?
Mathieu
Prédemment, le programme réalisé fonctionnait à condition que tous les numéros de "Base1" soit aussi existants dans "Base".
Or, je me suis aperçu que ce n'était pas toujours le cas.
Cela est-ce possible ?
Mathieu
Ci joint la macro modifiée mais je n'ai pas testé car je n'ai pas gardé la maquette de W
En espérant que...
Sub copier_mel()
Dim nbre As Long, cptr As Long
Dim tablo1
Dim lig As Long, texto As String
With Sheets("base1")
nbre = .Range("O65536").End(xlUp).Row - 1
ReDim tablo(nbre, 2)
For cptr = 1 To nbre
tablo(cptr, 1) = .Cells(cptr + 1, 15)
tablo(cptr, 2) = .Cells(cptr + 1, 23)
Next
End With
With Sheets("base")
Application.ScreenUpdating = False
For cptr = 1 To nbre
On Error Resume Next
lig = .Columns(15).Find(tablo(cptr, 1), .Cells(1, 15), xlValues).Row
If Err.Number = 0 Then
.Cells(lig, 23) = tablo(cptr, 2)
End If
Next
End With
End Sub
En espérant que...