Parcourir deux colonnes dans un seul code
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite parcourir la colone "A" qui contient des dates, afin de faire une soustraction de 21 jours et le resultat se met automatiquement dans la colonne B.
Je suis un peu perdu dans les boucles sachant que le nombre de ligne A peut varier.
voici mon code : ( la colonne se remplisse pas totalement !!)
Merci de votre aide
Option Explicit
Sub date_propose()
Dim resultat As Date
Dim i As Integer
Dim J As Integer
With ThisWorkbook.Sheets("Feuil1")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
resultat = Range("A" & i).Value
resultat = resultat - 21
Range("B" & i).Value = resultat
Next i
End With
End Sub
Windows / Firefox 118.0
- Parcourir deux colonnes dans un seul code
- Code ascii - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Inverser deux colonnes excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
3 réponses
Bonjour,
Une facon de faire
Sub date_propose() Dim resultat As Date Dim i As Long With ThisWorkbook.Sheets("Feuil1") Derlig = .Range("A" & .Rows.Count).End(xlUp).Row For i = 2 To Derlig .Range("B" & i).Value = .Range("A" & i).Value - 21 Next i End With End Sub
Bonjour à tous les deux
>mimi : si tu as mis ton code dans le module de la feuille, il doit fonctionner tel que, si tu l'as mis dans un module général (Module1 par ex), et que tu l'exécutes depuis une autre feuille, il va manquer un point'.' devant Range("A" & i).value et Range("B" & i) .value pour attacher ces références à la feuille "Feuil1" (With .... End With)
Pour ce qui est de ta boucle, il vaut mieux utiliser une variable qui contiendra la dernière ligne comme l'a proposé f894009 histoire de ne pas la recalculer à chaque tour.
Cdlmnt
Sub date_propose() Dim resultat As Date Dim i As Integer Dim J As Integer With ThisWorkbook.Sheets("Feuil1") For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 resultat = .Range("A" & i).Value resultat = resultat - 21 .Range("B" & i).Value = resultat Next i End With End Sub
C'est le meme raisonement , mais ce code ne rempli aucune cellule de la colonne B !!
Re,
Chez moi ça marche très bien!
La colonne A à des dates dans les cellules de votre fichier?
Demain, je vous mettrai un fichier à dispo ou vous mettez votre fichier à dispo