EXCEL VBA : Etendre une macro sur une colonne
Résolu/Fermé
Awazagaga
Messages postés
31
Date d'inscription
lundi 26 mars 2018
Statut
Membre
Dernière intervention
14 juin 2019
-
3 mai 2018 à 11:50
Awazagaga Messages postés 31 Date d'inscription lundi 26 mars 2018 Statut Membre Dernière intervention 14 juin 2019 - 11 mai 2018 à 08:20
Awazagaga Messages postés 31 Date d'inscription lundi 26 mars 2018 Statut Membre Dernière intervention 14 juin 2019 - 11 mai 2018 à 08:20
A voir également:
- EXCEL VBA : Etendre une macro sur une colonne
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
4 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
Modifié le 3 mai 2018 à 12:02
Modifié le 3 mai 2018 à 12:02
Bonjour,
avec la méthode Intersect
voir ceci:
https://forum.excel-pratique.com/viewtopic.php?t=1314
avec la méthode Intersect
voir ceci:
https://forum.excel-pratique.com/viewtopic.php?t=1314
perreet
Messages postés
230
Date d'inscription
vendredi 30 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2018
20
3 mai 2018 à 13:48
3 mai 2018 à 13:48
Bonjour,
Tu peux essayer de remplir ton Range() avec les méthodes cells(row,column)
En faisant une boucle, tu devrais pouvoir sélectionner et remplir ce que tu veux.
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Cells
Bon courage
Tu peux essayer de remplir ton Range() avec les méthodes cells(row,column)
En faisant une boucle, tu devrais pouvoir sélectionner et remplir ce que tu veux.
https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Cells
Bon courage
Awazagaga
Messages postés
31
Date d'inscription
lundi 26 mars 2018
Statut
Membre
Dernière intervention
14 juin 2019
3 mai 2018 à 14:21
3 mai 2018 à 14:21
Bonjour,
Merci à vous deux cela m'a permis d'avancer.
J'ai fait avec l'intersect mais ça ne fonctionne qu'à moitié. Qu'importe la cellule changée en w la valeur que je souhaite rajouter est ajoutée tout le temps en case AE8. Ce que je voudrais moi c'est que la valeur soit reportée sur la ligne correspondante. Mais même en bidouillant je ne comprends pas pourquoi ça ne s'applique pas.
Merci à vous deux cela m'a permis d'avancer.
J'ai fait avec l'intersect mais ça ne fonctionne qu'à moitié. Qu'importe la cellule changée en w la valeur que je souhaite rajouter est ajoutée tout le temps en case AE8. Ce que je voudrais moi c'est que la valeur soit reportée sur la ligne correspondante. Mais même en bidouillant je ne comprends pas pourquoi ça ne s'applique pas.
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("W:W")) Is Nothing Then Application.Run "Feuil1.ASA" End Sub Sub ASA() Range("AE8").Value = Range("AE8").Value & Chr(10) & Range("W8").Value & Chr(10) & Date End Sub
perreet
Messages postés
230
Date d'inscription
vendredi 30 janvier 2009
Statut
Membre
Dernière intervention
3 mai 2018
20
3 mai 2018 à 14:32
3 mai 2018 à 14:32
Dans la ligne Range("AE8).Value = .................
Il faut mettre le résultat du Intersect()
Il faut mettre le résultat du Intersect()
Awazagaga
Messages postés
31
Date d'inscription
lundi 26 mars 2018
Statut
Membre
Dernière intervention
14 juin 2019
3 mai 2018 à 14:39
3 mai 2018 à 14:39
Mais en faisant ça je n'ai plus mes données qui se rajoutent dans la cellule AE une fois que je change la valeur en W.
Awazagaga
Messages postés
31
Date d'inscription
lundi 26 mars 2018
Statut
Membre
Dernière intervention
14 juin 2019
3 mai 2018 à 15:04
3 mai 2018 à 15:04
Il faudrait que j'utilise une variable mais je ne comprends pas avec les exemples et explications sur internet..
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 mai 2018 à 15:09
3 mai 2018 à 15:09
Je ne comprends pas du tout ce que tu veux faire!
Qu'importe la cellule changée en w la valeur que je souhaite rajouter est ajoutée tout le temps en case AE8
en mettant cela tu demandes que le résultat soit ici:
Explique exactement ce que tu veux obtenir.
Si c'est additionner 2 cellules, c'est impossible avec le format date en bout de chaine!
Qu'importe la cellule changée en w la valeur que je souhaite rajouter est ajoutée tout le temps en case AE8
en mettant cela tu demandes que le résultat soit ici:
Range("AE8").Value =
Explique exactement ce que tu veux obtenir.
Si c'est additionner 2 cellules, c'est impossible avec le format date en bout de chaine!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 4 mai 2018 à 11:05
Modifié le 4 mai 2018 à 11:05
Bonjour
Cs le pivert(bonjour) a raison d'employer un douOption Explicitble clic car worksheetchange ne fonctionne pas sur une liste déroulante....
AE7 ne doit pas ^tre vide (un espace suffit ou peut ^tre "historique
Cs le pivert(bonjour) a raison d'employer un douOption Explicitble clic car worksheetchange ne fonctionne pas sur une liste déroulante....
AE7 ne doit pas ^tre vide (un espace suffit ou peut ^tre "historique
Option Explicit
'-------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$W$8" Then
Call asa(Target.Value)
End If
End Sub
'---------------------------------
Sub asa(valeur)
Dim ligvid As Integer
ligvid = Columns("AE").Find(what:="", after:=Range("AE7")).Row
With Cells(ligvid, "AE")
.Value = valeur & " " & Date
.Borders.Weight = xlThin
End With
End Sub
Awazagaga
Messages postés
31
Date d'inscription
lundi 26 mars 2018
Statut
Membre
Dernière intervention
14 juin 2019
11 mai 2018 à 08:20
11 mai 2018 à 08:20
Bonjour à tous,
Tout d'abord merci pour vos réponses. J'ai réussi, avec un peu d'aide à trouver la solution. Voici comment le sujet a été traité (et qui marche parfaitement) :
Bien à vous,
Awzgg
Tout d'abord merci pour vos réponses. J'ai réussi, avec un peu d'aide à trouver la solution. Voici comment le sujet a été traité (et qui marche parfaitement) :
Private Sub Worksheet_Change(ByVal r As Range) If Not Intersect(r, Range("W:W")) Is Nothing Then With Cells(r.Row, "AE") .Value = .Value & Chr(10) & r & " - " & Date End With End If End Sub
Bien à vous,
Awzgg