Petit problème avec code VBA

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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😀Q2").Value
Range("DN2😀Q2").ClearContents


End If
End Sub
 
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😀Q2").ClearContents


End If
End Sub

@ voir

Bye

Ronan
 
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😀Q2").Copy
Range("DN" & ligne + 1).PasteSpecial xlPasteValues

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

Range("DN2😀Q2").ClearContents


End If
End Sub


@+ Minick
 
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😀Q2").ClearContents

A+
LN
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
256
Réponses
5
Affichages
708
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
672
Retour