Reculer d'une colonne en VBA

Résolu/Fermé
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 - 10 janv. 2013 à 13:47
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 - 10 janv. 2013 à 14:55
Bonjour,

je suis en train d'écrire une macro VBA, et j'aimerais savoir comment faire pour déplacer la cellule d'une colonne en arriére (passer de F4 à E4 par exemple)? Aprés plusieurs essais, je poste!

voici le bout de code :

If mois = "février" Then 
    Set envoi = range("F3:F34") 
    Set reponse = range("G3:G34") 
    For Each cell In reponse 
        If cell = "" Then 
        colomn -1 
        cell.Activate 
        ActiveCell = "relance effectué le " & Date 
        End If 
    Next cell 
    Exit Do 
    End If


merci d'avance

A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
10 janv. 2013 à 14:31
Bonjour à tous,

pour revenir purement à la question de départ tu as la méthode .offset(lig,col)
Ca serait donc cell.offset(0,-1)=xxxx

eric
3
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
10 janv. 2013 à 13:58
Bonjour,

Pour reprendre votre exemple passer de F4 à E4 par exemple:

C'est important pour le code .. faut-il juste copier la valeur de F4 en E4, puis supprimer le contenu de la cellule F4 ?
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
10 janv. 2013 à 14:03
Bonjour Heliotte,

en fait si la cellule de la colonne G est vide, je veux que dans la cellule de la colonne F, la date s'inscrive, puis que le test se poursuive sur la colonne G.
Par exemple :

G3 a une date, on passe a G4.
G4 est vide, on inscrit la date du jours en F4.
G5 a une date, on passe à G6
et ainsi de suite
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
10 janv. 2013 à 14:09
Bonjour tragg,

Donc pas de copie !
Uniquement mettre la date en Fx si Gx = vide ?
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
10 janv. 2013 à 14:12
exactement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
10 janv. 2013 à 14:21
Tragg,

Option Explicit
Public Sub VerifierDates()
    Dim i As Integer, LigMin As Integer, LigMax As Integer, NumCol As Integer
    '
    LigMin = 1
    LigMax = 100
    NumCol = 7 ' G
    '
    Columns("G:G").Select
    Selection.NumberFormat = "m/d/yyyy"
    For i = LigMin To LigMax
        If (Not IsDate(Cells(i, NumCol))) Then
            Cells(i, 6).Value = Format(Now, "DD/mm/yyyy")
        End If
    Next i
End Sub
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
10 janv. 2013 à 14:27
merci, je le test!
0
tragg Messages postés 52 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 15 janvier 2013 1
10 janv. 2013 à 14:55
merci eric, sa me permet de faire un clair beaucoup plus simple :

If mois = "mai" Then
    Set envoi = range("H3:H34")
    Set reponse = range("I3:I34")
    For Each cell In reponse
        If cell = "" Then
        cell.Offset(0, -1) = "relance effectué le" & Date
        End If
    Next cell
    Exit Do
    End If


merci à vous deux!
0