Bonjour
J’ai des colonnes dans lesquelles il manque des valeurs. Il y a parfois plusieurs cellules vides de suite.
Je souhaite remplir ces trous par une sorte d’extrapolation linéaire entre la valeur du row avant le vide et la valeur du row juste après le vide.
Ex :
Je sélectionne les cases C3 à C25 :
3
3
3.5
vide
vide
6
5
Vide
7.2
6.8
vide
vide
vide
5.6
Les deux cellules vides du haut devraient être remplies par : 4,33 et 5,16
4,33 = (6-3.5)/(nombre de cellules vides de suite + 1)
Voici le code que j’ai écrit :
Mais çà ne marche pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub remplissage() debutselection = Selection.Row finselection = debutselection + Selection.Rows.Count - 1 col = Selection.Column For deb = debutselection To finselection If Range(deb, col).Value = "" Then valdeb = Range(deb - 1, col).Value While Range(deb + 1, col) <> valfin = ActiveCell.Value increment = (valfin - valdeb) / (Range(deb, col).Value - Active.Row) Wend For peupl = Range(deb, col) To Active.Row - 1 Range(peupl, col) = valdeb + increment Next peupl End If Next deb End Sub
Des idées ?
Merci.







Répondre avec citation
Partager