[VBA] - Remplir colonne en fonction des ligne
Résolu
Kokos
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis débutant en VBA et je cherche, pour la réalisation de macros, à remplir une colonne avec une valeur par défaut (la chaîne "EIS" en l'occurence) et cela si les lignes de mon tableau sont renseignées.
J'ai testé ces morceaux de code qui fonctionnent mais qui me remplissent toute la colonne :
Range(Cells(1,3),Cells(10,3)).Select
Selection.Value = "EIS"
(remplit donc EIS dans les 10 premières cellules de la colonne C)
ou
Dim vBassin As Object
For Each vBassin In Columns("T:T")
vBassin.Value = "EIS"
Next
(ici toute la colonne T est remplie)
Merci d'avance pour votre aide.
Je suis débutant en VBA et je cherche, pour la réalisation de macros, à remplir une colonne avec une valeur par défaut (la chaîne "EIS" en l'occurence) et cela si les lignes de mon tableau sont renseignées.
J'ai testé ces morceaux de code qui fonctionnent mais qui me remplissent toute la colonne :
Range(Cells(1,3),Cells(10,3)).Select
Selection.Value = "EIS"
(remplit donc EIS dans les 10 premières cellules de la colonne C)
ou
Dim vBassin As Object
For Each vBassin In Columns("T:T")
vBassin.Value = "EIS"
Next
(ici toute la colonne T est remplie)
Merci d'avance pour votre aide.
A voir également:
- [VBA] - Remplir colonne en fonction des ligne
- Partager des photos en ligne - Guide
- Fonction si et - Guide
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Mètre en ligne - Guide
7 réponses
Je veux dire par là que si, par exemple, les lignes 1,2 et 5 contiennent des valeurs (donc ne sont pas vides), je remplis ma colonne (que j'appelle codbassin) avec la valeur "EIS".
dans mon cas, on va dire que les colonnes doivent toutes contenir des valeurs.
j'ai 21 colonnes. Il faut que je remplisse la colonne codbassin (colonne 20) si toutes les autres contiennent des valeurs.
Merci
j'ai 21 colonnes. Il faut que je remplisse la colonne codbassin (colonne 20) si toutes les autres contiennent des valeurs.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Suivant tes explications...
A+
Public Sub TestLignes() Dim Lig As Long, LigDeb As Long, LigFin As Long, Col As Integer LigDeb = 2 'à adapter LigFin = Sheets("Feuil1").Range("A65535").End(xlUp).Row For Lig = LigDeb To LigFin For Col = 1 To 20 If Cells(Lig, Col) = "" Then Exit For Next Col If Col > 20 Then Cells(Lig, 21) = "EIS" Next Lig End Sub
A+
Merci pour ton aide, cela m'a déjà donné une piste.
Je n'ai peut-être pas été assez clair. Un ptit tableau sera plus utile à une explication....
....A ..B ...C ....D ....E <> S ...T ...U
1 12 1.2 1258 0.05 0.06 0.01 .......2
2 25 0.5 989 0.12 0.05 0.01 .........3
3 17 1.1 1368 0.09 0.01 0.00 .......9
4 23 1.9 1565 0.11 0.10 0.01 .......5
5 22 0.7 1112 0.07 0.07 0.02 .......4
6
7
.
.
Voilà, chaque ligne de 1 à 5 contient des valeurs dans ses colonnes sauf la colonne T (dans laquelle je souhaite affecter la chaine "EIS")
Les lignes de 6 à 65535 sont vides.
Et je souhaite donc "EIS" dans T1:T5.
Et surtout si je mets à jour mon fichier et que d'autres lignes viennent s'y ajouter, que je puisse trouver la valeur "EIS" dans la colonne correspondante.
Je n'ai peut-être pas été assez clair. Un ptit tableau sera plus utile à une explication....
....A ..B ...C ....D ....E <> S ...T ...U
1 12 1.2 1258 0.05 0.06 0.01 .......2
2 25 0.5 989 0.12 0.05 0.01 .........3
3 17 1.1 1368 0.09 0.01 0.00 .......9
4 23 1.9 1565 0.11 0.10 0.01 .......5
5 22 0.7 1112 0.07 0.07 0.02 .......4
6
7
.
.
Voilà, chaque ligne de 1 à 5 contient des valeurs dans ses colonnes sauf la colonne T (dans laquelle je souhaite affecter la chaine "EIS")
Les lignes de 6 à 65535 sont vides.
Et je souhaite donc "EIS" dans T1:T5.
Et surtout si je mets à jour mon fichier et que d'autres lignes viennent s'y ajouter, que je puisse trouver la valeur "EIS" dans la colonne correspondante.