Problème de copier coller dans Excel - VB/VBA/VBS - Programmation
Marsh Posté le 21-11-2006 à 12:30:45
ReplyMarsh Posté le 21-11-2006 à 15:47:39
Je comprends rien à ton problème ... mis à part que tu as l'air d'avoir un problème.
Marsh Posté le 04-12-2006 à 13:11:58
jpcheck a écrit : mets en pièce jointe ton fichier excel stp www.cjoint.com |
http://cjoint.com/?menkkUMVKf
Merci d'avance pour votre aide
Marsh Posté le 04-12-2006 à 13:21:56
jpcheck a écrit : mets en pièce jointe ton fichier excel stp www.cjoint.com |
Annule et remplace le précédent
http://cjoint.com/?menuZEb7bu
Marsh Posté le 04-12-2006 à 13:22:31
Paul Hood a écrit : Je comprends rien à ton problème ... mis à part que tu as l'air d'avoir un problème. |
Voici mon classeur joint : http://cjoint.com/?menuZEb7bu
Marsh Posté le 04-12-2006 à 16:16:05
bonjour, j'ai vu ton fichier et tout ! Comme tu copies deux lignes, il serait normal d'avoir une ligne blanche entre tes deux copies, même si tes cases sont vides, mais elles ont bien une formule à l'intérieur (ton =Si etc).
pour ma part, je contournerais le pb en passant par une autre méthode, mais ca dépend aussi de la structure habituelle.
Je m'explique: si tu toujours dans tes cellules tes formules SI, ton contenu de cellule sera attribué quelles que soient les valeurs de cases C4:F5. Au lieu de faire ton skipblank qui ne marche apparemment pas dans ce cas, tu peux faire un copier coller "fait maison" avec un test à toi
if .value = "" then
else
copier//coller
next
tu vois l'idée ?
bonne continuation.
Marsh Posté le 04-12-2006 à 16:29:01
Bonsoir,
null est différent de Empty
proposition:
Sub cop()
Range("c11:f12" ).Select
For Each ss In Selection
If IsNull(ss.Value) Then ss = Empty
Next ss
Range("c11:f12" ).Select
Selection.Copy
Range("C16" ).Select
Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
End Sub
Cordialement
Marsh Posté le 21-11-2006 à 11:55:18
Je rencontre un problème en VBA dans Excel
Je vous l'explique ci dessous mais le mieux serait que je puisse présenter mon classeur en pièce jointe.
Explicatif du problème rencontré
Je récupère des valeurs dans les cellules C4:F5
par une formule en C11:F12
J'ai besoin de récupérer ces valeurs en C11:F12
puis de les coller dans un tableau C21:F28
Lorsqu'une valeur est absente en C4:F5
je n'ai donc rien en C12:F12 (normal)
Mais quand je copie C11:F12 en C17:F18 (Edition coller / valeurs / blancs non compris)
J'ai des cellules C18:F18 qui n'ont pas de caractère, mais qui ne sont pas considérées comme vides
Je peux le vérifier en selectionnant C17:F24 (Edition atteindre / Cellules / cellules vides)
Ma selection est alors C19 :F24
Cela m'embête car lorsque je renouvelle l'opération par macro :
Range("C16" ).Select
Selection.End(xlDown).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False
Les données sont collées en C19 car C18:F18 ne sont pas considéres comme vides
Merci à qui pourra m'aider