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

XL 2010 code VBA

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 !

salimoida

XLDnaute Nouveau
Bonjour,
j'ai besoin de votre aide les amis,
j'aimerais avoir un macro qui me permet de rajouter un nombre de lignes défini avec un format respecté,en fait je travail avec les dates,j’aimerais que le fait de définir une date de départ et une autre de fin la différence des jours soit convertie en lignes ex: le départ 01/01/2019 fin 06/01/2019 donc 6 jours.......six lignes se rajoute automatiquement?
je vous remercie.
 
Bonjour,

un double-clic sur une date te demande la date de fin (ou le nombre de jours) et les inscrit en dessous.
Attention, écrase ce qu'il y a sans contrôle.
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim nb, i As Long, dat() As Date
    If Target.NumberFormat Like "*/*/*" Then
        Cancel = True
        nb = InputBox("Date fin ou nombre total de jours", "Combien")
        If Len(Replace(nb, "/", "")) + 2 = Len(nb) Then nb = DateValue(nb) - Target Else nb = Val(nb) - 1
        ReDim dat(1 To nb, 1 To 1)
        For i = 1 To nb
            dat(i, 1) = Target + i
        Next i
        Target.Offset(1).Resize(nb) = dat
        Target.Offset(1).Resize(nb).NumberFormat = Target.NumberFormat
    End If
End Sub
eric
 

Pièces jointes

Bonjour salimoida, bienvenue sur XLD, salut eriiiic,

Exécutez cette macro :
VB:
Sub InsererDates()
Dim deb$, fin$, h&
While Not IsDate(deb)
    deb = InputBox("Date de début :", , deb)
    If deb = "" Then Exit Sub
Wend
While Not IsDate(fin)
    fin = InputBox("Date de fin >= " & CDate(deb) & " :", , fin)
    If fin = "" Then Exit Sub
    h = CDate(fin) - CDate(deb) + 1
    If h <= 0 Then fin = ""
Wend
ActiveCell.Resize(h).Insert xlDown
ActiveCell = CDate(deb)
ActiveCell.Resize(h).DataSeries
End Sub
A+
 
 
Si tu ne donnes pas tous les éléments dès le départ c'est que tu prends à ton compte l'adaptation à ton cas concret.
Tu n'as plus qu'à te retrousser les manches ;-)
Et tu peux saluer job également et faire un retour sur sa proposition.
 
- 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ésolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
237
  • Question Question
Microsoft 365 Macro excel ou vba
Réponses
17
Affichages
1 K
Réponses
2
Affichages
823
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…