VBA remplir case vide
Bonjour,
Je débute sur VBA et souhaiterais savoir comment intégrer une valeur dans une case vide en tenant compte de la case précédente et de la prochaine case pleine!
Concrètement mon tableau ressemble à cela et je dois remplacer les "***" par la moyenne de la case précédente et de la prochaine pleine :
0.25 0.33 0.65 0.15
*** *** *** ***
*** *** *** ***
0.12 0.34 0.25 0.77
0.14 0.69 0.88 0.50
*** *** *** ***
0.40 0.30 0.65 0.15
Merci infiniment par avance de votre aide et de vos connaissances éclairées!!!
Bonjour naruto15,
voici un exemple de code qui pourra vous satisfaire:
Public Sub test3()
Dim index1 As Integer
Dim oRange As Range
Dim currentcell As Range
'sélectionne le champ à vérifier
Set oRange = Range("B1", "B6")
'pour toutes les lignes de ta colonne
For index1 = 1 To oRange.Rows.Count
'Si une cellules vide est trouvée
If Len(oRange.Cells(index1, 1)) = 0 Then
'si la précédente n'est pas vide
If Len(oRange.Cells(index1 - 1, 1)) > 0 Then
'si la suivante n'est pas vide
If Len(oRange.Cells(index1 + 1, 1)) > 0 Then
'alors je fais quelque chose à l'intérieur de la cellule vide
oRange.Cells(index1, 1) = "ZZZZZZZ"
End If
End If
End If
Next index1
End SubPetite explication du code exemple:
1- on choisit les cellules à traiter. Ici, c'est les cellules B1 à B6.
2- pour chaque cellules, si on en découvre une qui est vide, mais que le précédent et le suivant ne le sont pas, alors...
3- alors inscrit ZZZZZZZ
4- ZZZZZZZ peut être ce que tu désires.
Je vais rédiger un mini https://checktechno-fr.blogspot.com/2012/12/vba-remplir-case-vide_4482.htmlavec plus d'images ou de détails sur un blog. Je vais aussi revenir ici pour rajouter une image d'excel.
EDIT 2012-12-04 20:25 :
Malheureusement, je ne comprends pas ton problème de moyenne ni ce que tu essaies de faire, mais je pense que c’est une problème mathématique et non de VBA.
En espérant avoir aidé.