Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de macro d'insertion

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

guilo49

XLDnaute Nouveau
Problème de doublon dans une macro d'insertion

Bonjour,

j'ai un classeur avec une macro d'insertion qui prend les infos de la première feuille "formulaire" pour les mettre dans l'autre "programme mensuel" en C25. Le problème c'est que ça fonctionne pour un jour férié mais dès que yen a 2 ou plusieurs il me rajoute le premier jour à chaque fois, c'est à cause du Range("A" & cel.Row) que j'ajoute mais il est obligatoire pour ajouter les autres jours. Pour résumer, j'ai le premier jour qui se double mais pas les suivants, donc je voudrais savoir si ya un moyen d'enlever ce doublon (genre une fonction de supression des valeurs double en vb) ou de pas prendre en compte deux fois la première valeur.

Je vous joint le fichier (faites pas attention aux macros des autres feuilles et le petit activatesheet après c'est pour l'autre macro avec le userform).

Merci par avance pour réponses.

Le code vb :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
derligne = Range("J65536").End(xlUp).Row
Sheet3.Range("C25") = ""
For Each cel In Range("C10:C" & derligne)
  If Left(cel.Value, 1) = "J" Then
    With Sheet3
      If .Range("C25") = "" Then .Range("C25") = Range("A" & cel.Row)
    If Range("K2") > 1 Then .Range("C25") = .Range("C25") & " / " & Range("A" & cel.Row)
    End With
  End If
Next
End Sub
 

Pièces jointes

Dernière édition:
Re : Problème de macro d'insertion

Bonjour guilo49 et le forum,

Peut-être une modification du code comme suit :

Private Sub Worksheet_Change(ByVal Target As Range)
derligne = Range("J65536").End(xlUp).Row
Sheet3.Range("C25") = ""
For Each cel In Range("C10:C" & derligne)
If Left(cel.Value, 1) = "J" Then
With Sheet3
.Range("C25") = .Range("C25") & " / " & Range("A" & cel.Row)
End With
End If
Next
End Sub
 
Re : Problème de macro d'insertion

Ah oui en effet tu as raison la ligne
Code:
If .Range("C25") = "" Then .Range("C25") = Range("A" & cel.Row)
était inutile et rappelait une deuxième fois l'intégration de ce qu'il y a en colonne A. En fait c'était tout con mais fallait le trouver. J'avais déjà essayé en supprimant la première occurrence mais j'avais laissé
Code:
If .Range("C25") = "" Then .Range("C25") = .Range("C25") & " / " & Range("A" & cel.Row)
du coup la macro ne fonctionnait plus.

Merci de m'avoir éclairé !

Bonne continuation à tous et au forum.🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
180
Réponses
14
Affichages
249
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
163
Réponses
4
Affichages
243
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…