Mise à jour date automatiquement sauf ligne 1

Résolu
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -  
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je rencontre un problème avec ce code qui affecte l'ensemble de mes lignes et donc par la même occasion ma ligne d'entête. Auriez vous une idée pour faire en sorte d'exclure la ligne 1 de ce traitement ?

Private Sub Worksheet_Change(ByVal sel As Range)
    Application.EnableEvents = False
    Cells(sel.Row, "A").Value = "jean.Pierre"
    Cells(sel.Row, "B").Value = "Controle"
    Cells(sel.Row, "C").Value = Date
    Application.EnableEvents = True
End Sub


Merci par avance

A voir également:

3 réponses

ergor Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,

Tu as un bon nombre de solutions :

Une boucle for.
"Vider" les cellules de la lignes 1
Créer une plage (http://www.excelabo.net/excel/plage_vba)
...

Je te laisse choisir ce que tu préfères
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Ergor,

Mais le lien ne fonctionne pas
0
ergor Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   12
 
Voici le lien corriger (simplement en enlevant la parenthèse de fin) :

http://www.excelabo.net/excel/plage_vba
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
C'est vrai, j'ai pas bien fais attention...
J'essaie avec la première fonction en y rajoutant le for devant mais on me demande un "=" que je ne veux pas mettre car je ne sais pas quoi y accoler derrière. Je veux juste dire que cette fonction s'applique de la ligne A2 à la dernière ligne (comme suit)

For Range([A2], [AG65635].End(xlUp))
0
ergor Messages postés 149 Date d'inscription   Statut Membre Dernière intervention   12
 
Oula,

Autant pour moi je me suis fourvoyé, j'avais mal compris ce que tu voulais faire.

Pour ce que tu veux faire c'est très simple un "if" suffit, comme ceci :


Private Sub Worksheet_Change(ByVal sel As Range)

    If sel.Row <> 1 Then
    
    
        Application.EnableEvents = False
        Cells(sel.Row, "A").Value = "jean.Pierre"
        Cells(sel.Row, "B").Value = "Controle"
        Cells(sel.Row, "C").Value = Date
        Application.EnableEvents = True
        
    
    End If

End Sub





Dis-moi si cela correspond à ce que tu cherchais.


Bonne journée
It's not a bug, it's a feature
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bien ça :)
J'avais essayé avec le même code mais en ne mettant que le > d'où le fait que ça ne marchait pas !

Merci
0