correction ou modi du code

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

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 !

Ilino

XLDnaute Barbatruc
Forum Bonsoir
je souhaite avoir plus de eclaircissement concernant ce Code ci dessous
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, c As Range
Set r = Intersect(Target, Range("J11:J" & Rows.Count), Me.UsedRange)
If r Is Nothing Then Exit Sub
With Feuil1 'Codename de la feuille FGP 2014
  .[AX:BG].EntireColumn.Hidden = False 'affiche le tableau modèle
  For Each r In r 'en cas d'entrées multiples
    If IsDate(r) Then
      If IsError(Application.Match(r, .Rows(28), 0)) Then
         Set c = .Cells(27, .Columns.Count).End(xlToLeft)(2, 3)
        .[AX:BG].Copy c.EntireColumn
        c.EntireColumn.Resize(26, 10).Clear
        
        c = r 'entrée de la date
      End If
    End If
  Next
  .[AX:BG].EntireColumn.Hidden = True 'masque
End With
End Sub

A quel niveau je modifier le code pour afficher la date (titre du tableau) a la ligne 26 ?
j'ai testé la ligne suivante du code et ça n a pas marché

If IsError(Application.Match(r, .Rows(26), 0)) Then

Merci pour votre aide
Edit: ce code est elaboré par Notre AMI JOB (grazie)😱
 

Pièces jointes

Dernière édition:
Re : correction ou modi du code

Bonsoir Ilino,

Quand tu cherches à modifier un code que je t'ai donné :

- soit tu restes sur le fil d'origine,

- soit au minimum tu donnes son lien.

C'est quand même évident non ? Sinon tu risques de n'avoir aucune réponse.

Moi tu me fatigues, et je ne suis pas sûr de te suivre longtemps.

Bonne fin de soirée.
 
Re : correction ou modi du code

Bonjour Ilino, le forum, hello Efgé,

Puisque tu n'es pas fichu de mettre le lien que j'ai demandé :

https://www.excel-downloads.com/threads/recherche-plusieur-date-une-seul-cellule.220617/

Il est évident que c'est au niveau de la définition de la variable c qu'il faut faire une modification, alors 3 questions :

- quel tableau modèle veux-tu exactement copier : [AX:BG], [AY:BG] ou [AY:BH] ?

- en BJ28 veux-tu garder la date ? Sinon qu'y mets-tu à la place ?

- où veux-tu entrer la date, en BJ26 ou en BM26 ?

Si tu veux une cellule fusionnée en BJ26 il faut que dans le tableau source AY26 soit fusionnée.

A+
 
Re : correction ou modi du code

Bonjour Job, Forum
merci d'avoir répondu ...
alors
Bonjour Ilino, le forum, hello Efgé,

Il est évident que c'est au niveau de la définition de la variable C qu'il faut faire une modification, alors 3 questions :

- quel tableau modèle veux-tu exactement copier : [AX:BG], [AY:BG] ou [AY:BH] ?
sorry, tu as raison le tableau model(source) etait masqué, donc le tableau de base c'est [AY:BG]

-en BJ28 veux-tu garder la date ? Sinon qu'y mets-tu à la place ?

A+
donc selon ma réponse a ta 1ere question ci dessus, la date sera afficher dans la cellule AY26 du tableau Model(source) seulemment ainsi que le N° (colonne A) de la feuille "Facturation" : exemple : n° 1 du 13/03/2014.

Bonjour Ilino, le forum, hello Efgé,

- où veux-tu entrer la date, en BJ26 ou en BM26 ?

iDEM a CELLULE AY26 du tableau model.

Bonjour Ilino, le forum, hello Efgé,


Si tu veux une cellule fusionnée en BJ26 il faut que dans le tableau source AY26 soit fusionnée.

A+

jE SUIS D'ACCORD.
et merci infinement MAITRE
grazie
A+
 
Dernière édition:
Re : correction ou modi du code

Re,

La nouvelle macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, t$, c As Range
Set r = Intersect(Target, Range("J11:J" & Rows.Count), Me.UsedRange)
If r Is Nothing Then Exit Sub
With Feuil1 'Codename de la feuille FGP 2014
  .[AY:BG].EntireColumn.Hidden = False 'affiche le tableau modèle
  For Each r In r 'en cas d'entrées multiples
    If IsDate(r) Then
      t = "N° " & r(1, -8) & " du " & Format(r, "dd/mm/yyyy")
      If Application.CountIf(.Rows(26), t) = 0 Then
        Set c = .Cells(27, .Columns.Count).End(xlToLeft)(0, 3)
        .[AY:BG].Copy c.EntireColumn
        c = t 'entrée du n° et de la date
      End If
    End If
  Next
  .[AY:BG].EntireColumn.Hidden = True 'masque
End With
End Sub
Fichier joint, regarde bien les noms définis Repère et T et la formule en Facturation!T11.

A+
 

Pièces jointes

Dernière édition:
Re : correction ou modi du code

Re
super c'est nickel
just un autre complement , sur la feuille"facturation" je peux avoir 2 facture meme journéé mais vont etre numérotée par deux numero donc je souhaite dans la feuille "FGP 2014" UN TABLEAU de la meme date avec deux numeros exemple N° 1 et 2 du 12/03/2014
grazie and grazie 😱
 
Re : correction ou modi du code

Re,

Avec 2 factures le même jour 2 tableaux sont créés, un point c'est tout.

Une modification de la macro au cas où le N° n'existe pas :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, t$, c As Range
Set r = Intersect(Target, Range("J11:J" & Rows.Count), Me.UsedRange)
If r Is Nothing Then Exit Sub
With Feuil1 'Codename de la feuille FGP 2014
  .[AY:BG].EntireColumn.Hidden = False 'affiche le tableau modèle
  For Each r In r 'en cas d'entrées multiples
    If r(1, -8) <> "" And IsDate(r) Then
      t = "N° " & r(1, -8) & " du " & Format(r, "dd/mm/yyyy")
      If Application.CountIf(.Rows(26), t) = 0 Then
        Set c = .Cells(27, .Columns.Count).End(xlToLeft)(0, 3)
        .[AY:BG].Copy c.EntireColumn
        c = t 'entrée du n° et de la date
      End If
    End If
  Next
  .[AY:BG].EntireColumn.Hidden = True 'masque
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

Re : correction ou modi du code

rE maitre
non ce n'est pas ça ( j'ai mal communiqué mon souci) un seul tableau de meme date pour plusieur N°
JE PEUT AVOIR DANS MA MEME JOURNNEE PLUSIEUR FACTURE donc dans un seul tableau pour plusieur N°
EXEMPLE EN DATE DU 12/03/2014 j 'ai recu 03 facture (1234,5678,9876) numeroté respectivement dans la feuille FACTURATION
N°---N° de la facture ------ dATE D'arrivée ------
1-------1234--------------------12/03/2014
2------- 5678--------------------12/03/2014
3--------9876--------------------12/03/2014

je souhaite avoir un seul tableau N° 1-2-3 du 12/03/2014 dans la feuille "FGP 2014" au lIeu de 03 tableauX N° 1 du 12/03/2014 , N° 2 du 12/03/2014 et N° 3 du 12/03/2014 🙁

encore merci infenement maitre😱
 
Dernière édition:
- 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
9
Affichages
476
Retour