Macro copier-coller

Ravome -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je recherche une macro qui me permettrait de faire les actions suivantes dans excel:

Dans la même feuille excel:

1) Colonne A (où les noms des produits sont rangés par ordre alphabétique croissant): trouver les noms en double

2) Une fois un nom trouvé en double, vérifier la valeur ces cellules correspondantes en colonne L (ex: si les noms en double sont en cellule A5 et A6, alors la macro vérifie les cellules L5 et L6). Ensuite, 3 cas:

a) Les cellules en L sont vides ou identiques, alors ne rien faire.
b) Une des deux cellules est vide, alors copier le contenu de l'une dans l'autre
c) Les cellules sont remplies et différentes, alors me poser la question concernant l'action à effectuer.

Pouvez-vous SVP m'aider?

Merci d'avance.

A voir également:

4 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Bonjour,

Combien de lignes sont à traiter?
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
re bonjour

du moment que la colonne A est triée, les doublons sont dans des lignes consécutives, ça simplifie

Private Sub btOK_Click()
Dim derli As Long, li As Long
derli = Range("A" & Rows.Count).End(xlUp).Row
For li = 2 To derli - 1
  If Range("A" & li) = Range("A" & li + 1) Then
    If Range("L" & li) <> Range("L" & li + 1) Then
      If Range("L" & li) <> "" And Range("L" & li + 1) <> "" Then
        MsgBox ("lignes " & li & "-" & li + 1 & " on fait quoi?")
      Else
        If Range("L" & li) = "" Then
          Range("L" & li) = Range("L" & li + 1)
        Else
          Range("L" & li + 1) = Range("L" & li)
        End If
      End If
    End If
  End If
Next li
End Sub

bonne suite
0
Ravome
 
Bonjour,

Merci pour votre aide et désolé pour ma réponse tardive mais j'étais en déplacement.

Il y a 6170 lignes à traiter. Je n'ai jamais créer de macro et donc je ne sais pas du tout comment faire. Pouvez-vous me guider pas à pas sur la démarche à suivre svp?

Encore merci pour votre aide précieuse.
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Bonjour,
La démarche à suivre?
1- ouvrir le classeur concerné,
2- enregistrer sous "un autre nom"
3- Tapez ALT+F11
4- dans la fenêtre Visual Basic Editor, Insertion/Module
5- copiez-collez le code de ccm81 (salutations!)
6- remplacer la ligne de code :
Private Sub btOK_Click()
par :
Sub test()

7- fermer la fenêtre Visual Basic Editor
8- ALT+F8, sélectionner "test" puis cliquer sur Exécuter
9- attendre le résultat qui ne devrait plus tarder...
0