Probleme copier/coller suite utilisation macro calendrier
Résolu
PAGEOT37
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
PAGEOT37 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
PAGEOT37 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilise dans un tableau plusieurs macro. Une d'elles consiste à faire apparaitre et disparaitre un calendrier dans une cellule. La macro en elle même fonctionne très bien mais lorsque que je veux faire un copier/coller d'une donnée quelconque et bien le copier fonctionne mais impossible de coller la donnée.
Voici la totalité des macro utilisées:
MACRO CALENDRIER
MACRO CHANGEMENT DES COULEURS CELLULES
MACRO INSERTION COMMENTAIRE PAR BOUBLE CLICK CELLULE
Merci d'avance
J'utilise dans un tableau plusieurs macro. Une d'elles consiste à faire apparaitre et disparaitre un calendrier dans une cellule. La macro en elle même fonctionne très bien mais lorsque que je veux faire un copier/coller d'une donnée quelconque et bien le copier fonctionne mais impossible de coller la donnée.
Voici la totalité des macro utilisées:
MACRO CALENDRIER
Private Sub Calendar1_click() ActiveCell.Value = Calendar1.Value End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' si la sélection sur la feuille change (target est la référence de la sélection) If Target.Column <> 12 And Target.Column <> 13 And Target.Column <> Target.Row < 5 Or Target.Cells.Count > 1 Then 'si la colonne <>3 (C) ou la ligne <2 ou la sélection fait plus d'1 cellule Calendar1.Visible = False 'alors on cache le calendrier Exit Sub Else 'sinon Calendar1.Top = Target.Offset(1, 0).Top + 2 ' aligner le calendrier avec le haut de la cellule en dessous Calendar1.Left = Target.Left + 0 ' l'aligner à gauche de la cellule 'Calendar1.LinkedCell = Target.Address ' mettre la cellule liée au contrôle sur la cellule sélectionnée If IsDate(Target.Value) Then 'si la cellule sélectionnée contient une date Calendar1.Value = Target.Value ' la récupérer Else ' sinon mettre la date du jour Calendar1.Value = Date End If Calendar1.Visible = True 'afficher le calendrier End If End Sub
MACRO CHANGEMENT DES COULEURS CELLULES
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Target, Range("B:z")) Is Nothing Then Select Case Target.Value Case Is = "Oui": Target.EntireRow.Range("b1:Z1").Interior.ColorIndex = 35: Target.EntireRow.Range("S1:w1").Interior.ColorIndex = 34: Target.EntireRow.Range("x1:z1").Interior.ColorIndex = 36 Case Is = "Non": Target.EntireRow.Range("b1:z1").Interior.ColorIndex = 15: Case Is = "Favorable": Target.EntireRow.Range("b1:z1").Interior.ColorIndex = 35: Target.EntireRow.Range("s1:w1").Interior.ColorIndex = 34: Target.EntireRow.Range("x1:z1").Interior.ColorIndex = 36 Case Is = "Défavorable": Target.EntireRow.Range("b1:z1").Interior.ColorIndex = 15 Case Is = "Apte": Target.EntireRow.Range("b1:z1").Interior.ColorIndex = 35: Target.EntireRow.Range("s1:w1").Interior.ColorIndex = 34: Target.EntireRow.Range("x1:z1").Interior.ColorIndex = 36 Case Is = "Inapte": Target.EntireRow.Range("b1:z1").Interior.ColorIndex = 15 'Elimination des couleurs dans cellules vides Case Is = "": Target.EntireRow.Range("b1:Q1").Interior.ColorIndex = 35: Target.EntireRow.Range("s1:w1").Interior.ColorIndex = 34: Target.EntireRow.Range("x1:z1").Interior.ColorIndex = 36 End Select End If End Sub
MACRO INSERTION COMMENTAIRE PAR BOUBLE CLICK CELLULE
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("b:k,n:z")) Is Nothing Then With Target If .NoteText = "" Then reponse = InputBox("INDIQUEZ LE COMMENTAIRE") If reponse <> "" Then .AddComment reponse With .Comment.Shape.OLEFormat.Object.Font .Name = "ARIAL" .Size = 10 .FontStyle = "gras" .ColorIndex = 1 End With .Comment.Shape.Fill.ForeColor.RGB = RGB(255, 255, 0) .Comment.Visible = True .Comment.Shape.Select Selection.AutoSize = True .Comment.Visible = False Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter .Comment.Shape.Top = Target.Top + 3 .Comment.Shape.Left = Target.Left + 35 .Comment.Shape.Placement = xlMove End If Else .Comment.Delete End If End With End If Cancel = True End Sub
Merci d'avance
A voir également:
- Probleme copier/coller suite utilisation macro calendrier
- Utilisation chromecast - Guide
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Mon calendrier - Télécharger - Santé & Bien-être
10 réponses
Bonjour,
Il faut trouver une parade avec une Booléenne dans le clic droit comme ceci:
et l'on rétabli par un clic dans le Calendar
Essayer!
Il faut trouver une parade avec une Booléenne dans le clic droit comme ceci:
Option Explicit Dim copier As Boolean Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value copier = False End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) copier = True End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If copier = True Then Exit Sub ' si la sélection sur la feuille change (target est la référence de la sélection) If Target.Column <> 12 And Target.Column <> 13 And Target.Column <> Target.Row < 5 Or Target.Cells.Count > 1 Then 'si la colonne <>3 (C) ou la ligne <2 ou la sélection fait plus d'1 cellule Calendar1.Visible = False 'alors on cache le calendrier Exit Sub Else 'sinon Calendar1.Top = Target.Offset(1, 0).Top + 2 ' aligner le calendrier avec le haut de la cellule en dessous Calendar1.Left = Target.Left + 0 ' l'aligner à gauche de la cellule 'Calendar1.LinkedCell = Target.Address ' mettre la cellule liée au contrôle sur la cellule sélectionnée If IsDate(Target.Value) Then 'si la cellule sélectionnée contient une date Calendar1.Value = Target.Value ' la récupérer Else ' sinon mettre la date du jour Calendar1.Value = Date End If Calendar1.Visible = True 'afficher le calendrier End If End Sub
et l'on rétabli par un clic dans le Calendar
Essayer!
Bonjour, et merci d'avoir répondu.
Effectivement, avec une Booléenne pas de problème ca marche....En revanche elle rentre en conflit avec la macro "MACRO INSERTION COMMENTAIRE PAR BOUBLE CLICK CELLULE"et le calendrier ne s'affiche plus.
Effectivement, avec une Booléenne pas de problème ca marche....En revanche elle rentre en conflit avec la macro "MACRO INSERTION COMMENTAIRE PAR BOUBLE CLICK CELLULE"et le calendrier ne s'affiche plus.
Mettre ceci:
en cliquant dans les colonnes 12 et 13, il s'affiche de nouveau!
'MACRO INSERTION COMMENTAIRE PAR BOUBLE CLICK CELLULE Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) copier = False
en cliquant dans les colonnes 12 et 13, il s'affiche de nouveau!
Le problème est toujours pareil. Le copier/coller marche. Une fois avoir collé ma donnée si je veux retourner sur le calendrier, il ne marche plus. Et de plus si je veux insérez un commentaire par le double click dans la cellule il me dit:
ERREUR DE COMPILATION et me sourligne en jaune la commande ci-dessous
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) qui correspond à ma macro "insertion commentaire par double click"
J'aimerais bien mettre le fichier en pièce jointe, mais je ne trouve l'icone.
ERREUR DE COMPILATION et me sourligne en jaune la commande ci-dessous
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) qui correspond à ma macro "insertion commentaire par double click"
J'aimerais bien mettre le fichier en pièce jointe, mais je ne trouve l'icone.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Chez moi avec le code donné cela fonctionne, je n'ai pas de message d'erreur. Tu as peut-être autre chose qui empêche le double clic.
Pour mettre un fichier, il n'y a pas d'icone il faut le déposer sur le site cjoint. Ensuite tu copies le lien et tu le mets sur le post
https://www.cjoint.com/
Pour mettre un fichier, il n'y a pas d'icone il faut le déposer sur le site cjoint. Ensuite tu copies le lien et tu le mets sur le post
https://www.cjoint.com/
J'ai fait quelques corrections. Chez moi cela fonctionne avec Excel 2003:
http://www.cjoint.com/data3/3BcnTjfslcX.htm
http://www.cjoint.com/data3/3BcnTjfslcX.htm