Reculer d'une colonne en VBA

Résolu
tragg Messages postés 55 Statut Membre -  
tragg Messages postés 55 Statut Membre -
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


--
Si le probléme est résolue, mettez votre poste en résolue!

6 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Heliotte Messages postés 1561 Statut Membre 92
     
    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
  3. tragg Messages postés 55 Statut Membre 1
     
    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
  4. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonjour tragg,

    Donc pas de copie !
    Uniquement mettre la date en Fx si Gx = vide ?
    0
    1. tragg Messages postés 55 Statut Membre 1
       
      exactement
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    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
    1. tragg Messages postés 55 Statut Membre 1
       
      merci, je le test!
      0
  7. tragg Messages postés 55 Statut Membre 1
     
    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