Petit problème avec code VBA

  • Initiateur de la discussion MARION
  • Date de début
M

MARION

Guest
bonsoir le forum un petit code ci-dessous me pose un soucis, il ne copie que la cellule DN2 et pas DO2 DP2 DQ2 ou est le problème ?
Merci de votre rèponse et bonne nuit a tous
A+ M

Sub reference_titi_Click()

res = MsgBox("voulez vous validez?", vbYesNo)
If res = vbYes Then
With Sheets("saisie quantite")
If .FilterMode = True Then .ShowAllData
End With

ligne = Range("DN6550").End(xlUp).Row
Range("DN" & ligne + 1).Value = Range("DN2:DQ2").Value
Range("DN2:DQ2").ClearContents


End If
End Sub
 
R

Ronan

Guest
Bonsoir,

Pour la simple & bonne raison que tu ne peux pas inscrire, de cette manière, dans une cellule le contenu de plusieurs cellules.

Voir plutôt :

Sub reference_titi_Click()

res = MsgBox("voulez vous validez?", vbYesNo)
If res = vbYes Then
With Sheets("saisie quantite")
If .FilterMode = True Then .ShowAllData
End With

ligne = Cells(6550,118).End(xlUp).Row
Range("DN" & ligne + 1).Value = Range("DN2").Value & " " & _
Range("DO2").Value & " " & Range("DP2").Value & " " & _
Range("DQ2").Value
Range("DN2:DQ2").ClearContents


End If
End Sub

@ voir

Bye

Ronan
 
M

Minick

Guest
Salut MARION, Ronan,

Je pense que MARION veux copier la plage et non toutes les cellules en 1.

Si tu veux copier la plage essai plutot comme cela.


Sub reference_titi_Click()

res = MsgBox("voulez vous validez?", vbYesNo)
If res = vbYes Then
With Sheets("saisie quantite")
If .FilterMode = True Then .ShowAllData
End With

ligne = Range("DN6550").End(xlUp).Row

'Deux cas si tu ne veux pas copier le format des cellules utilise ces 2 lignes de codes
Range("DN2:DQ2").Copy
Range("DN" & ligne + 1).PasteSpecial xlPasteValues

'si tu veux copier le format utilise cette ligne de code
Range("DN2:DQ2").Copy Destination:=Range("DN" & ligne + 1)

Range("DN2:DQ2").ClearContents


End If
End Sub


@+ Minick
 
L

Lord Nelson

Guest
Salut tout le monde,

Mais si tu veux reporter le contenu de chaque cellule, tu devras écrire :

ligne = Range("DN6550").End(xlUp).Row
Range("DN" & ligne + 1).Value = Range("DN2").Value
Range("DO" & ligne + 1).Value = Range("DO2").Value
Range("DP" & ligne + 1).Value = Range("DP2").Value
Range("DQ" & ligne + 1).Value = Range("DQ2").Value

Range("DN2:DQ2").ClearContents

A+
LN
 

Statistiques des forums

Discussions
314 195
Messages
2 107 028
Membres
109 738
dernier inscrit
cedrebey