Macro copier-coller
Ravome
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
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.
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:
- Macro copier-coller
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Historique copier coller windows - Accueil - Informatique
4 réponses
re bonjour
du moment que la colonne A est triée, les doublons sont dans des lignes consécutives, ça simplifie
bonne suite
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
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.
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.
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 :
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...
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...