Vba excel
Résolu
steph
-
ouistit64 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
ouistit64 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je ne sais pas si c'est possible mais j'essais de le faire. Voici mon problème, j'ai des colonnes fixe de A à I et je souhaiterais mettre les colonnes de J à T en dessous de la dernière cellule de la colonne I sachant que certaines cellules des colonnes de J à T sont vides mais au pire je pourrais mettre un 0 pour qu'elles ne soit plus vides. Voici mon début de code mais je m'y perd un peu, si quelqu'un peut m'aider... :
Cordialement
Steph
Je ne sais pas si c'est possible mais j'essais de le faire. Voici mon problème, j'ai des colonnes fixe de A à I et je souhaiterais mettre les colonnes de J à T en dessous de la dernière cellule de la colonne I sachant que certaines cellules des colonnes de J à T sont vides mais au pire je pourrais mettre un 0 pour qu'elles ne soit plus vides. Voici mon début de code mais je m'y perd un peu, si quelqu'un peut m'aider... :
Dim mois(1 To 12) As String mois(1) = "2009 JAN" mois(2) = "2009 FEB" mois(3) = "2009 MAR" mois(4) = "2009 APR" mois(5) = "2009 MAY" mois(6) = "2009 JUN" mois(7) = "2009 JUL" mois(8) = "2009 AUG" mois(9) = "2009 SEP" mois(10) = "2009 OCT" mois(11) = "2009 NOV" mois(12) = "2009 DEC" With Range("A1").CurrentRegion For i = 1 To 12 If i = 2 Then Columns("T:T").Select Selection.Copy ActiveWindow.SmallScroll ToRight:=1 Range("U1").Select .Resize(, .Columns.Count).Select Next i End With
Cordialement
Steph
A voir également:
- Vba excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
8 réponses
bonjour,
il y a des erreurs et en conséquence ce code ne fonctionne pas.
tu fais :
boucle With
boucle for
test if i =2 then ' donc la boucle se fera 1 fois quand i sera égale à 2
selectionne la colonne T
copy
selectionne U1
' pas de end if donc erreur
nest i
end with
OK! je te fais pas progressé mais si ton code n'est pas "confidentiel défense"
donne-le en entier puis dis ce que tu veux faire.
A+
il y a des erreurs et en conséquence ce code ne fonctionne pas.
tu fais :
boucle With
boucle for
test if i =2 then ' donc la boucle se fera 1 fois quand i sera égale à 2
selectionne la colonne T
copy
selectionne U1
' pas de end if donc erreur
nest i
end with
OK! je te fais pas progressé mais si ton code n'est pas "confidentiel défense"
donne-le en entier puis dis ce que tu veux faire.
A+
En fait j'ai mes colonnes de janvier à décembre et mon but c'est de mettre toutes les cellule des colonnes de février à décembre (colonne J à T) en dessous de la dernière cellule de janvier. Comme j'ai dit certaines sont vides donc je viens de faire ce code là pour mettre les cellules de vides à 0. :
Sub cellulevide()
Dim maplage As Range
Dim cellule As Range
Set maplage = Range("i2:t783")
For Each cellule In maplage
If IsEmpty(cellule) Then
cellule = "0"
End If
Next cellule
End Sub
Mais après je sais pas trop par ou commencer. Je pense qu'il faut j'arrive à dire quand la dernière cellule de la colonne I est vide alors copier/coller la colonne J de J2à J...(la dernière cellule pleine) et ainsi de suite jusqu'à décembre (colonne T).
Merci de m'aider je continue à plancher dessus
Sub cellulevide()
Dim maplage As Range
Dim cellule As Range
Set maplage = Range("i2:t783")
For Each cellule In maplage
If IsEmpty(cellule) Then
cellule = "0"
End If
Next cellule
End Sub
Mais après je sais pas trop par ou commencer. Je pense qu'il faut j'arrive à dire quand la dernière cellule de la colonne I est vide alors copier/coller la colonne J de J2à J...(la dernière cellule pleine) et ainsi de suite jusqu'à décembre (colonne T).
Merci de m'aider je continue à plancher dessus
Bon je regarde!
précise ceci, as-tu janvier en colonne i et décembre en T
je comprends que tu veux mettre les valeurs des colonnes février à décembre en (J à T) en colonne I janvier
1)doivent-elles être suprimée (couper/coller)
la solution simple serait de se placer sur la dernière cellule non vide, puis avancer de 1 cellule!
Comme ça!
Range("i65535").End(xlUp).Select
selection.offset(1,0).select
précise ceci, as-tu janvier en colonne i et décembre en T
je comprends que tu veux mettre les valeurs des colonnes février à décembre en (J à T) en colonne I janvier
1)doivent-elles être suprimée (couper/coller)
la solution simple serait de se placer sur la dernière cellule non vide, puis avancer de 1 cellule!
Comme ça!
Range("i65535").End(xlUp).Select
selection.offset(1,0).select
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sub recopiedansunecolonne()
dim as integer
dim j as integer
Set maplage = Range("j2:t783")
For i = 10 To 20
For j = 2 To 783
Range("i65535").End(xlUp).Offset(1, 0).Value = Cells(j, i).Value
Cells(j, i) = ""
Next j
Next i
End Sub
dim as integer
dim j as integer
Set maplage = Range("j2:t783")
For i = 10 To 20
For j = 2 To 783
Range("i65535").End(xlUp).Offset(1, 0).Value = Cells(j, i).Value
Cells(j, i) = ""
Next j
Next i
End Sub