Supprimer des "0" s'il ni a pas d'infos

apdf1

XLDnaute Impliqué
Bonjour,

Voila j'ai un code qui copie de la feuil1 vers la feuil2 de "B5 jusqu'à I 105"jusque la tous va bien.

Pas facile à expliquer mais je me lance,

Le problème est que, si il y a que les cellules de "B5 a I16" qui sont renseignées sur la feuil2 je vais avoir de "B2 à D13" renseigner jusque la normal, mais les autre cellules ou il n'y a pas d'infos je vais avoir que des "0".

Ma question est-il possible de modifier mon pour que si il n'y pas d'infos ne rien marquer

Ci joint mon code exemple

Code:
Sub Liste_Click()
 
Sheets("ListeJoueurs").Select
    Dim S As Worksheet, D As Worksheet

Set S = ThisWorkbook.Sheets(1)
Set D = ThisWorkbook.Sheets(4)
'1
D.Range("B2") = S.Range("B5").Value
D.Range("C2") = S.Range("C5")
D.Range("D2") = S.Range("I5")
'2
D.Range("B3") = S.Range("B6").Value
D.Range("C3") = S.Range("C6")
D.Range("D3") = S.Range("I6")
'3
D.Range("B4") = S.Range("B7").Value
D.Range("C4") = S.Range("C7")
D.Range("D4") = S.Range("I7")
'4
D.Range("B5") = S.Range("B8").Value
D.Range("C5") = S.Range("C8")
D.Range("D5") = S.Range("I8")
'5
D.Range("B6") = S.Range("B9").Value
D.Range("C6") = S.Range("C9")
D.Range("D6") = S.Range("I9")
'6
D.Range("B7") = S.Range("B10").Value
D.Range("C7") = S.Range("C10")
D.Range("D7") = S.Range("I10")
'7
D.Range("B8") = S.Range("B11").Value
D.Range("C8") = S.Range("C11")
D.Range("D8") = S.Range("I11")
'8
D.Range("B9") = S.Range("B12").Value
D.Range("C9") = S.Range("C12")
D.Range("D9") = S.Range("I12")
'9
D.Range("B10") = S.Range("B13").Value
D.Range("C10") = S.Range("C13")
D.Range("D10") = S.Range("I13")
'10
D.Range("B11") = S.Range("B14").Value
D.Range("C11") = S.Range("C14")
D.Range("D11") = S.Range("I14")
'11
D.Range("B12") = S.Range("B15").Value
D.Range("C12") = S.Range("C15")
D.Range("D12") = S.Range("I15")
'12
D.Range("B13") = S.Range("B16").Value
D.Range("C13") = S.Range("C16")
D.Range("D13") = S.Range("I16")
'13
'D.Range("B14") = S.Range("A17").Value
'D.Range("C14") = S.Range("C17")
'D.Range("D14") = S.Range("D17")
'14
'D.Range("B15") = S.Range("A18").Value
'D.Range("C15") = S.Range("C18")
'D.Range("D15") = S.Range("D18")
'15
'D.Range("B16") = S.Range("A19").Value
'D.Range("C16") = S.Range("C19")
'D.Range("D16") = S.Range("D18")
'16
'D.Range("B17") = S.Range("A20").Value
'D.Range("C17") = S.Range("C20")
'D.Range("D17") = S.Range("D20")
    
    
    
End Sub
Un très grand merci à tout ceux qui pourront m'aider...

Cordialement
Max
 

Papou-net

XLDnaute Barbatruc
Re : Supprimer des "0" s'il ni a pas d'infos

Bonsoir apdf1,

Tu peux amplement simplifier ton code en utilisant 2 boucles imbriquées, du genre :

Code:
Sub Liste_Click()
 
Sheets(1).Select
Dim S As Worksheet, D As Worksheet

Set S = ThisWorkbook.Sheets(4)
Set D = ThisWorkbook.Sheets(1)
For lg = 2 To 17
  For cl = 2 To 3
    If Not S.Cells(lg, cl) = "" Then D.Cells(lg + 3, cl) = S.Cells(lg, cl)
  Next
  If Not S.Cells(lg, 9) = "" Then D.Cells(lg + 3, 4) = S.Cells(lg, 9)
Next
   
End Sub

Espérant avoir répondu.

Cordialement.
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Supprimer des "0" s'il ni a pas d'infos

Bonsoir Papou

Je te remercie un code beaucoup plus simplifier mais je ne comprend pas pourquoi il me met un message d'erreur "400"

Si tu voit d'ou sa peut venir ?


Bonne soirée

@+

Max

Bonsoir apdf1, Etienne2323,

@ Max : J'ai réalisé et testé cette macro sous XL2003, et il fonctionne correctement. Je viens de le tester sous XL2010, aucun problème non plus.

Je suppose que tu as intégré ce code dans ton fichier, et là, je ne saurais savoir d'où vient le problème. Comme le conseille Etienne, le meilleur moyen est que tu joignes ce fichier.

Cordialement.

EDIT : à voir peut-être du côté des références des feuilles. Il vaudrait mieux les nommer par leur nom plutôt que par leur index de position.
 
Dernière édition:

apdf1

XLDnaute Impliqué
Re : Supprimer des "0" s'il ni a pas d'infos

Bonjour Papou,

Pour commencer merci du temps que tu peut me consacrer.

Voila j'ai repris le deuxième code que tu as fait la, presque plus de problème et surtout plus de message d'erreur.:cool: Il copie bien la liste mais pas dans le bon sens, je m'explique il copie de la Sheets (4) vers Sheets(1) j'ai essayer de changer mais je ne suis pas arriver a chaque fois il y a un message d'erreur, je me rends compte que je suis très loin de tes capacités dans ce domaine.

Je pense que sa doit pas être insurmontable surtout pour toi. Et si je n'abuse pas trop je te demanderais si tu peut modifier la copie sur la page.
J'ai joint mon fichier auquel il y a les explications car se n'est évident d'expliquer.

je te remercie et te souhaite un bon dimanche

Cordialement

Max
 

Pièces jointes

  • CopySheets4.xlsm
    30.5 KB · Affichages: 81
  • CopySheets4.xlsm
    30.5 KB · Affichages: 86
  • CopySheets4.xlsm
    30.5 KB · Affichages: 93
Dernière édition:

apdf1

XLDnaute Impliqué
Re : Supprimer des "0" s'il ni a pas d'infos

Bonjour Pierrejean

Je te remercie beaucoup mais je ne comprend, j'ai recopier la même chose que tu ma envoyer sa ne fonctionne pas alors que ton fichier fonctionne .
J'ai recopier le code "Sub Liste_Click()" et le module "Report" y a t-il quelque chose que j'ai oublier ?

@+
Max
 

apdf1

XLDnaute Impliqué
Re : Supprimer des "0" s'il ni a pas d'infos

Re pierreJean,

Je m'excuse je me suis trompé je viens devoir mon erreur sa marche nickel .
un très grand merci à tout ceux mon m'aider... Papou, PierreJean Etienne

Bonne journée a Tous

@+

Max
 

Statistiques des forums

Discussions
312 196
Messages
2 086 094
Membres
103 116
dernier inscrit
kutobi87