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

  • Initiateur de la discussion Initiateur de la discussion apdf1
  • 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 !

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
 
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:
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:
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.😎 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

Dernière édition:
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
 
- 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

Discussions similaires

Réponses
7
Affichages
885
Réponses
17
Affichages
2 K
Réponses
9
Affichages
963
Retour