Copie la valeur d'une cellule jusqu'à la valeur différente
dadi
-
dadi -
dadi -
Bonjour,
Je reviens vers vous car je suis bloqué sur une macro
Je souhaiterais copier la valeur d'une cellule dans les cellules suivantes de la même colonne jusqu'à ce que sa valeur change, et refaire le même travail pour le reste des valeur
Exemple :
TRAVAIL RESULTAT SOUHAITE
1 1
1
1
1 1
2 2
2
2
2
2
2 2
3 3
3
3 3
Entre 1 et 1 il ya des cellules vides, je veux les remplir par 1
ensuite les cellules vides entre le nombre 2 , les remplir par 2
et ainsi de suite
Merci de votre aide
Je reviens vers vous car je suis bloqué sur une macro
Je souhaiterais copier la valeur d'une cellule dans les cellules suivantes de la même colonne jusqu'à ce que sa valeur change, et refaire le même travail pour le reste des valeur
Exemple :
TRAVAIL RESULTAT SOUHAITE
1 1
1
1
1 1
2 2
2
2
2
2
2 2
3 3
3
3 3
Entre 1 et 1 il ya des cellules vides, je veux les remplir par 1
ensuite les cellules vides entre le nombre 2 , les remplir par 2
et ainsi de suite
Merci de votre aide
A voir également:
- Copie la valeur d'une cellule jusqu'à la valeur différente
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Formule excel si contient texte alors valeur ✓ - Forum Excel
- Copie cachée - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
2 réponses
Je n'ai pas vraiment compris votre exemple (notamment avec les chiffres doublés du style "1 1" qui deviennent "1")
Mais voici une base de travail, si c'est sur ça que vous avez un problème
Mais voici une base de travail, si c'est sur ça que vous avez un problème
Sub test()
Dim i As Integer
Dim s As String
'boucler jusqu'à la cellule ou l'on veut s'arrêter
'Note: Je pars du principe que la première cellule est remplie
'Sinon, il faudra décommenter la prochaine ligne
's = "A"
For i = 1 To 20
If (ActiveSheet.Cells(i, 1).Value <> "") Then
s = ActiveSheet.Cells(i, 1).Value
Else
ActiveSheet.Cells(i, 1).Value = s
End If
Next i
End Sub
Dans la colonne A, j'ai des références clients :
A1 = Références clients
A2 = 1000
A3=vide
A4=vide
A5=1000
A6=2000
A7=vide
A8=2000
Je veux remplir A3 A4 avec 1000 , et A7 avec 2000
Donc le morceau de code que je cherche va vérifier A2 avec la cellule d'en bas si c'est vide alors il me met le valeur de A2, et s'il y a un changement de valeur , il prend cette nouvelle valeur et il applique le même travail pour le reste des cellules.
Exécution :
A1 = Références clients -> s = "Références clients"
A2 = 1000 -> s = "1000"
A3=vide -> A3 = s (1000)
A4=vide -> A4 = s
A5=1000 -> s = "1000"
A6=2000 -> s = "2000"
A7=vide -> A7 = s
A8=2000 -> s = "2000"
Ca devrait correspondre à vos attentes après avoir adapté le code à votre Classeur.
Ça marche à merveille