Macro Excel duplicage
Résolu
lelion4
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un problème de macro sur mon fichier excel (je suis débutant total en VBA) : voici la macro elle-même :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("l")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Target.Offset(0, -1) = Date
End If
End Sub
Le problème que j'ai, c'est que je voudrai dupliquer cette formule, pour que plusieurs colonnes se remplissent automatiquement, par exemple la colonne o par rapport à p, la u par rapport à v, etc...
J'ai essayé plusieurs moyens, en recherchant des solutions, mais je trouve sa assez compliqué... :s
j'ai un problème de macro sur mon fichier excel (je suis débutant total en VBA) : voici la macro elle-même :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("l")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
Target.Offset(0, -1) = Date
End If
End Sub
Le problème que j'ai, c'est que je voudrai dupliquer cette formule, pour que plusieurs colonnes se remplissent automatiquement, par exemple la colonne o par rapport à p, la u par rapport à v, etc...
J'ai essayé plusieurs moyens, en recherchant des solutions, mais je trouve sa assez compliqué... :s
A voir également:
- Macro Excel duplicage
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
Un exemple vite fait :
On remplit un Array avec les numéros des colonnes, puis on compare le numéro de la colonne de Target avec les valeurs de cet array. Si on trouve une correspondance on exécute le code.
Voici :
Un exemple vite fait :
On remplit un Array avec les numéros des colonnes, puis on compare le numéro de la colonne de Target avec les valeurs de cet array. Si on trouve une correspondance on exécute le code.
Voici :
Private Sub Worksheet_Change(ByVal Target As Range) Dim Colonnes As Variant 'A placer en premier pour éviter les erreurs : If Target.Count > 1 Then Exit Sub 'place ici tes numéros de colonnes 12 = L, 16 = P, 22 = V etc... Colonnes = Array(12, 16, 22) 'Application.Match renvoie une erreur si pas de correspondance. 'donc si pas d'erreur alors If Not IsError(Application.Match(Target.Column, Colonnes, 0)) Then 'on inscrit la date Target.Offset(0, -1) = Date End If End Sub
Les possibilités qu'apporte ce système à excel m'ont l'air d'être énormes. Je pense que je vais me plonger un peu plus dans les macros.
Les possibilités d'Excel avec VBA sont en effet assez impressionnantes, tu t'en rendra compte si tu persévères.
A bientôt alors.