XL 2013 remplir les vides par des 0

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 !

manulemalin13000

XLDnaute Occasionnel
Bonjour le forum et meilleurs voeux.

Dans le fichier attaché j'ai des valeurs (le nombre de valeurs varie à chaque fichier)
Le but c'est de mettre des "0" sur les cases vides MAIS QUE pour un block de 8)

Exemple😀ans le fichier joint je dois mettre des 0 uniquement a coté de C4jusqu'a H4.

Donc il y a quelquechose a faire avec la formule 8 - Mod 8 soit six "0" à ajouter.

Pourriez vous m'aider à coder cela ?
Merci
Manu
 

Pièces jointes

Bonjour manumalin, Jha 🙂, le forum,

Voici un code pour ta demande.

Bonne journée.
VB:
Sub Vide()
Dim i As Integer,j As Integer
Dim ref, myadresse As String
For i = 7 To Range("B" & Rows.Count).End(xlUp).Row 'Step 8
    If Cells(i, 3) = "" Then
    For j = 7 To 1 Step -1
        Set ref = Cells(i - 1, 3).Offset(-j, -1).Find("A*")
        If Not ref Is Nothing Then GoTo suite
    Next j
    End If
Next i
suite:
myadresse = ref.Address
For i = 1 To 8
If Range(myadresse).Offset(i - 1, 1) = "" Then
Range(myadresse).Offset(i - 1, 1) = 0
End If
Next i
End Sub
 
Bonsoir à tous,

Un autre essai ? :
VB:
Sub Zeros()
Dim derligne&, i&, nb&, k&

   Application.ScreenUpdating = False
   With Sheets("Raw Data Form")
      derligne = .Cells(.Rows.Count, 3).End(xlUp).Row
      If derligne < 7 Then Exit Sub
      For i = 7 To derligne Step 8
         nb = Application.WorksheetFunction.Count(.Cells(i, 3).Resize(8))
         If nb > 0 And nb < 8 Then
            For k = i To i + 7
               If .Cells(k, 3) = "" Then .Cells(k, 3) = 0
            Next k
         End If
      Next i
   End With
End Sub
 

Pièces jointes

Salut Staple1600 🙂
Re

Et là, j'ai bon? 😉

On va dire oui selon moi.

Mais rien que pour t'énerver, le cas où la première cellule non vide du bloc ne serait pas la première du bloc n'est pas couvert. Tu n’est pas énervé ? Alors j'ai le fameux cas où "la cellule vide n'est pas vide" qui n'est pas couvert non plus.
Maintenant, c'est certain, tu es énervé, non ? 😛😀

rem : sinon joli code très concis 🙂
 
Dernière édition:
Re

Si la cellule vide n'est pas vide, c'est qu'elle est pleine.
Et si elle est pleine, elle enfantera le néant.
Et du néant émergera le chaos.
Et du chaos, le hasard surgira
Et si par hasard, le vide remplit la cellule alors j'y perds mon latin 😉

Tu auras remarqué la beauté du titre de ma précédente macro.

Maintenant que ce message est plein de circonvolutions plus ou moins vides, je suis fatigué.
Je suis vidé quoi 😉
 
Re

@mapomme (je suis jamais énervé après 22h, surtout quand j'ai bu ma verveine)
Et là, j'ai bon et bon ? 😉
VB:
Sub b()
Dim i&, j&
On Error Resume Next
For i = 7 To 102 Step 8: For j = 1 To 7
If Len(Cells(i + j, 3)) > 0 Then
Cells(i, 3).Resize(8).SpecialCells(4) = 0
End If
Next j: Next
End Sub
 
Re,

Tu auras remarqué la beauté du titre de ma précédente macro.

Oui, je l'avais remarqué 🙂

Et là, j'ai bon et bon 😉
Ton code :
VB:
Sub b()
Dim j&
On Error Resume Next
For i = 7 To 102 Step 8: For j = 1 To 7
If Len(Cells(i + j, 3)) > 0 Then
Cells(i, 3).Resize(8).SpecialCells(4) = 0
End If
Next j: Next
End Sub

J'aurais écrit For j= 0 to 7 (sinon le cas où la seule cellule non vide est la première du bloc n'est pas couvert)
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
806
Réponses
7
Affichages
914
Réponses
3
Affichages
353
Retour