macro copier valeur cellule puis supprimer cellule d'origine

pierre31270

XLDnaute Junior
Bonjour,

Je souhaiterais mettre au point une macro permettant de :
-Remplacer la valeur des cellules de la colonne de M quand leur valeur est égale à "-" par celles contenues dans N.
-Lorsque cette opération est faite, supprimer le contenu copié en provenance de N
-Le classeur comporte une ligne d'en-tête

J'ai déjà une ébauche mais la suppression de la valeur copiée ne marche pas...Quelqu'un peut-il m'aider?
Merci par avance
Pierro

Code:
Sub test()
For n = 2 To Range("M8000").End(xlUp).Row
If Range("M" & n) = "-" Then Range("M" & n) = Range("N" & n)
[COLOR="Red"]If Range("M" & n) = Range("N" & n) Then Range("N" & n).Delete[/COLOR]
Next n
End Sub
 

Efgé

XLDnaute Barbatruc
Re : macro copier valeur cellule puis supprimer cellule d'origine

Bonjour pierre31270,
Je pense que :
Code:
Sub test()
For n = 2 To Range("M8000").End(xlUp).Row
If Range("M" & n) = "-" Then 
     Range("M" & n) = Range("N" & n)
     Range("N" & n).Value = ""
Next n
End Sub
Devrait aller. A tester
Cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : macro copier valeur cellule puis supprimer cellule d'origine

Bonjour Pierre,

si j'ai bien comris :

Code:
Sub test()
Dim n As Integer
For n = 2 To Range("M8000").End(xlUp).Row
    If Range("M" & n) = "-" Then Range("N" & n).Cut Range("M" & n)
Next n
End Sub

bonne journée
@+

Edition : Aarf, après la bataille moi... bonjour Efge, JP
 

rudymagny

XLDnaute Occasionnel
Re : macro copier valeur cellule puis supprimer cellule d'origine

C'est à cause du end if manquant (ça m'arrive souvent):

Sub test()
For n = 2 To Range("M8000").End(xlUp).Row
If Range("M" & n) = "-" Then
Range("M" & n) = Range("N" & n)
Range("N" & n).Value = ""
..... end if .....
Next n
End Sub

Efgé te l'avais dit :
Bonjour jp14,
J'ai oublié le End If :eek:
Cordialement
 
Dernière édition:

pierre31270

XLDnaute Junior
Re : macro copier valeur cellule puis supprimer cellule d'origine

C'est à cause du end if manquant (ça m'arrive souvent):

Sub test()
For n = 2 To Range("M8000").End(xlUp).Row
If Range("M" & n) = "-" Then
Range("M" & n) = Range("N" & n)
Range("N" & n).Value = ""
..... end if .....
Next n
End Sub

Efgé te l'avais dit :

A mais oui c'est clair je suis à la rue complet ^^
Pourquoi chercher simple quand on peut chercher compliqué :D
 

Discussions similaires

Réponses
7
Affichages
360
Réponses
6
Affichages
287

Statistiques des forums

Discussions
312 502
Messages
2 089 022
Membres
104 006
dernier inscrit
CABROL