Macro Sur Excel
Fermé
slb500
Messages postés
1
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
2 février 2015
-
Modifié par crapoulou le 2/02/2015 à 15:39
cs_Le Pivert Messages postés 7883 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 18 mars 2023 - 3 févr. 2015 à 10:17
cs_Le Pivert Messages postés 7883 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 18 mars 2023 - 3 févr. 2015 à 10:17
A voir également:
- Macro Sur Excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
- Aller à la ligne excel - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
3 févr. 2015 à 07:58
3 févr. 2015 à 07:58
Bonjour,
Si ta macro est "totomatic", je suppose qu'elle est comprise dans un événement de la feuille ou du classeur. Peux tu nous dire lequel et/ou copier/coller le code dans sa globalité, y compris le "type" de Sub. Exemple :
Si ta macro est "totomatic", je suppose qu'elle est comprise dans un événement de la feuille ou du classeur. Peux tu nous dire lequel et/ou copier/coller le code dans sa globalité, y compris le "type" de Sub. Exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ol As Object, monmail As Object
DisplayAlerts = False
Set ol = CreateObject("outlook.application")
Set monmail = ol.CreateItem(olMailItem)
monmail.To = "emails équipe"
monmail.Subject = "suivi des demandes client 2015"
monmail.Body = "Modifications enregistrées dans le fichier suivi des demandes client 2015.xls"
monmail.Send
Set ol = Nothing
End Sub
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
3 févr. 2015 à 09:38
3 févr. 2015 à 09:38
Bonjour,
Voici un exemple pour détecter les cellules qui ont été modifiées et les colorier en rouge.
Les données sont dans la feuille1, les cellules modifiées sont dans la feuille2, c'est a adapter:
Mettre dans la feuille 1:
Inserer une UserForm avec 2 boutons et mettre ce code:
Il suffit donc d'envoyer la feuille par e-mail et de rétablir
Amitiés a Pijaku
Voici un exemple pour détecter les cellules qui ont été modifiées et les colorier en rouge.
Les données sont dans la feuille1, les cellules modifiées sont dans la feuille2, c'est a adapter:
Mettre dans la feuille 1:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cel As Range
For Each cel In Target
Worksheets("Feuil2").Range(cel.Address) = 1
Next cel
End Sub
Inserer une UserForm avec 2 boutons et mettre ce code:
Option Explicit
Private Sub CommandButton1_Click()
WorkbookFind
End Sub
Sub WorkbookFind()
Dim What, FirstAddress, sht, found
What = "1"
If What = "" Then Exit Sub
For Each sht In Worksheets
sht.Activate
Set found = sht.Cells.Find(What)
If Not found Is Nothing Then
FirstAddress = found.Address
Do
found.Activate
Sheets("Feuil1").Range(found.Address).Font.Color = RGB(255, 0, 0)
Set found = Cells.FindNext(After:=ActiveCell)
If found.Address = FirstAddress Then Exit Do
Loop
End If
Next sht
End Sub
Private Sub CommandButton2_Click()
Retablir
Sheets("Feuil2").Cells.Clear
End Sub
Sub Retablir()
Dim What, FirstAddress, sht, found
What = "1"
If What = "" Then Exit Sub
For Each sht In Worksheets
sht.Activate
Set found = sht.Cells.Find(What)
If Not found Is Nothing Then
FirstAddress = found.Address
Do
found.Activate
Sheets("Feuil1").Range(found.Address).Font.Color = RGB(0, 0, 0)
Set found = Cells.FindNext(After:=ActiveCell)
If found.Address = FirstAddress Then Exit Do
Loop
End If
Next sht
End Sub
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Rechercher"
CommandButton1.Caption = "Rétablir"
End Sub
Il suffit donc d'envoyer la feuille par e-mail et de rétablir
Amitiés a Pijaku
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
3 févr. 2015 à 10:17
3 févr. 2015 à 10:17
Petite erreur d'évènement feuille:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
For Each cel In Target
Worksheets("Feuil2").Range(cel.Address) = 1 'a adapter
Next cel
End Sub