Macro Excel : remplir les vides avec la valeur de la cellule suivante - VB/VBA/VBS - Programmation
Marsh Posté le 31-05-2012 à 13:57:13
Bonjour,
http://cjoint.com/?BEFn4bIwOQB
Sub Remplissage()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Sheets("Feuil1" ).Select
For k = 1 To 30000
For i = 1 To 30000
If Cells(i, 1) <> "" And Cells(i, 2) = "" Then
Range("C1" ) = Cells(i, 1)
Exit For
ElseIf Range("D1" ) = Range("E1" ) Then
Range("B:B" ).ClearContents
Range("C1" ).ClearContents
Range("D1" ).ClearContents
Exit Sub
Else
Cells(i + 1, 1).Select
End If
Next i
For j = 1 To 30000
If Cells(j, 1) = "" And Cells(j, 2) = "" Then
Cells(j, 1) = Range("C1" )
Cells(j, 2) = "X"
Range("D1" ) = Range("D1" ) + Cells(j, 1)
Cells(j + 1, 1).Select
ElseIf Cells(j, 1) <> "" And Cells(j, 2) = "" Then
Range("D1" ) = Range("D1" ) + Cells(j, 1)
Cells(j, 2) = "X"
Exit For
End If
Next j
Cells(k + 1, 1).Select
Next k
End Sub
Marsh Posté le 31-05-2012 à 16:53:49
Super ! J'ai téléchargé la feuille jointe. ça marche nickel ! Merci beaucoup !
Juste une question sur le code : pourquoi laissez-vous un espace dans "Range("D1" )" juste avant de fermer la parenthèse ?
(Idem à d'autres endroits)
Marsh Posté le 31-05-2012 à 17:43:30
initial a écrit : Super ! J'ai téléchargé la feuille jointe. ça marche nickel ! Merci beaucoup ! |
Une erreur de saisie, mais la macro fonctionne quand même !
PS: IMPORTANT >>>> Ne pas supprimer la cellule " E1 " contenant une formule permettant d'arrêter la macro !
A+
Marsh Posté le 31-05-2012 à 19:57:41
sinon un peu + simple
Citation :
Dim col As Integer col = 1 End Sub |
Marsh Posté le 27-05-2012 à 14:34:29
Bonjour,
Je cherche à réaliser une macro sous Excel pour remplir automatiquement les cellules vides d'une colonne avec la valeur de la première cellule pleine qui suit.
Exemple :
[Avant la macro]
*vide*
*vide*
93
*vide*
*vide*
*vide*
11
*vide*
12
[Après la macro]
93
93
93
11
11
11
11
12
12
Savez-vous comment faire ?
Merci !
Initial