bonjour,
je voulais une petite aide pour un programme,je dois ecrire une macro sous vba qui me permettra de remplacer les donnees manquantes par celle qui la précède
Et qu’est-ce que tu n’arrives pas à faire?
Pourrais tu mettre un titre plus explicite s’il te plait?
Merci
Quel VBA ?
pour excel, pour word, ou autre ? …
C’est quoi, une donnée qui en précède une autre ?
Liste déroulante, tableau de valeurs en ligne, tableau de valeurs en colonnes, énumération … ?
non jai fais un programme mais ca ne fonctionne pas.
Public Sub CaseVide()
Dim i As Integer
Dim j As Integer
Dim cells As Range
For Each cells In Selection
If cells = “” Then
cells = cells.Offset(i - 1, j)
End If
Next
End Sub
VBA pour excel c'est un tableau comprenant des indices boursiers avec des donnees journalières, il manque des donnees du fait des jours feriés il faut donc prendre le cours du jour precedent et le placer dans la case du cours manquant
If cells = “” Then
cells = cells.Offset(- 1)
End If
A ta place, je n’emploierais pas cells, c’est un mot réservé, donc on ne peut pas préjuger de son comportement.
Par contre, tu peux employer cell ou même cellule, comme ca il n’y aura pas d’ambigüité.
D’autant plus que each cell, c’est du singulier, non ?
le programme ne tourne pas en mettant cell.
je suis débutante en vba donc je ne sais pas comment faire.
Edité le 13/03/2008 à 14:44
C’est pas cell.value pour récupérer le contenu d’une cellule (en valeur) ?
oui je pense que c’est cells.valueon m’ai dit de faire
Public Sub CaseVide()
Dim cells As Range
For Each cells In Selection
If cells.Value = Empty Then cells.Value = cells.Offset(-1, 0).Value
Next cells
End Sub
mais ca ne marche toujours pas
Cell ou Cell.Value, ça doit marcher, Value étant pris par défaut
Non, si ça ne marche pas, il y a des chances que ce soit parce que tu ne rentres pas dans dans la boucle
Il faudrait connaitre la valeur de sélection pour confirmer
Essaie de rajouter cette ligne
MsgBox Selection.address
If cellule = “” Then
cellule = cellule.Offset(- 1)
End If etc.
et vérifie que la plage donnée correspond bien aux cellules que tu veux explorer