Recherche dans macro vba

Re,

Même qu’il est un peut tard je tiens a partager ma joie avec vous @Mimimathy j’ais réussis a fusionner les

macros et c’la fonctionne sans bug je suis tellement content un énorme merci pour tous :+1: :wink: :grin:

je suis arrivé au second point d’arrêt il fallait que je partage ca avec

vous :champagne: :champagne: :champagne:

CDLT

@kiss6

Re, @Mimimathy

Bonjour , ma joie est de courte durée ce matin je copie et colle le code VBA dans le classeur d’origine et c’la

ne marche pas ca me sélectionne plusieurs cellules de la colonne “I” et pas la "Réunion du jour "

Alors que dans le classeur “essaie VBA” lorsque je fais le code avec la touche “F8” c’la fonctionne

très bien c’est quand même pas croyable :disappointed: c’est vraiment la faute a pas de chance

Je vous met le classeur “essaie VBA” avec les code fusionné

PS: Je vous remercie pour l’an gueulade dans le MP je n’avais pas fait attention :wink: :grin:

essaie VBA.xlsm (88,8 Ko)

Cdlt

@kiss6

Bonjour,
Prends ton temps pour expliquer et précise qu’elle macro, quel classeur

Re,

Je vous renvoie le classeur “essaie VBA(1)” avec une seule macro “préparation2” et qui fonctionne

très bien avec la touche “F8

Donc ce que j’ais fais j’ais copier la macro du classeur "essaie VBA(1)"que j’ais coller dans la

macro "préparation "du classeur d’origine ou si vous préférez le programme et là même en faisant

pas à pas avec “F8” plus rien ne marche c’la me sélectionne tout un tas de cellules en colonne “I

mais pas les courses du jour alors que dans le classeur “essaie VBA(1)” tout fonctionne

essaie VBA(1).xlsm (58,6 Ko)

Cdlt

@kiss6

Re,
Si tu avais utilisé la touche F8 dans ton classeur final
tu aurais remarqué que tu as la phrase “Réunions du jour” qui est déjà en place en cellule A15 de ta feuille “01(2)”.
Cette phrase vient du fait qu’elle est présente sur la feuille “01” qui te sert de copie.
Donc la macro qui recherche cette phrase prend cette cellule en référence et “BLOUM” gros bug

Supprime cette phrase en cellule A15 de la feuille "01"
Place la macro “Préparation2” et lance :grin:

Re, suite

tu peux également placer en début de macro après le Dim

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

à la fin avant le End Sub

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

et surement aussi beaucoup de nettoyage dans la macro, certaines lignes sont inutiles, cela accélérait la vitesse d’éxécution

1 « J'aime »

Re,

Bon j’ ais placé juste après le Dim

Et juste avant le End Sub

Mais c’est toujours la même chose c’la fonctionne dans le classeur « essaie VBA(1) »

Mais toujours pas dans le classeur d’origine le programme toujours une série de cellule en colonne « I »

c’la me sélectionne les cellules de "I16 à I159 "

et ce qui est pour le nettoyage n’hésiter pas nettoyer c’est vrai que c’est un peut lent

Cdlt

@kiss6

Re,

Est-ce que tu lis, tous les messages
Il y a, juste avant celui de mettre le ScreenUpdating et Etc, un autre message qui te dis de virer ce qu’il se trouve dans la cellule A15 de la feuille “01” :thinking:

1 « J'aime »

Re,

Et non je n’avais pas vue que vous aviez déjà répondue je m’en excuse comme on dit

" **d’un bourricot tu ne peut pas en faire un cheval de course même si tu lui coupe les oreilles en pointe sa sera toujours un bourricot **"

je vais regarder c’la de suite et je vous tiens au courant :wink:

Cdlt

@kiss6

Re,

c’est bon c’la fonctionne

Maintenant préférez-vous passer au deuxièmes point d’arrêt ou faire du nettoyage ou tout simplement

en arrêter là comme vous voulez

Cdlt

@kiss6

Re,

C’est comme je disais hier, la finalité de la demande aurait été bien mieux avec une feuille qui représente ce que l’on désire effectué avec des copier/coller

Là, tu vas me ressortir des demandes qui auraient pu être outrepassées si j’en connaissait la fin

Mais envoi toujours, je verrai si c’est dans mes cordes :wink:

1 « J'aime »

Re,

Bon je vais essayer d’être clair

On reste sur le classeur "essaie VBA(1) quand on actionne le module “préparation2” avec la

touche “F8” jusqu’à “End Sub” nous avons solutionné le point d’arrêt 1 et nous avons les colonnes

BC:HH” de sélectionné exact

Re,

Ah si tu fais du pas à pas :open_mouth:
Je serai surement en asticot avant la fin du programme

Re,

Peut être mais c’la m’évitera de me faire tirer les oreilles :wink:

Bon revenons au chose sérieuse donc nous somme bien en colonne “BC:HH” qui sont sélectionner dans

la Feuil 01(2)

Vous verrez que dans la colonne BC , BM , BW , CG , CQ , DA , DK , DU il y a les réunion du jour

Dans la colonne BC il faut aller chercher la réunion 1

Dans la colonne BM il faut aller chercher la réunion 2

Dans la colonne BW il faut aller chercher la réunion 3

Dans la colonne CG il faut aller chercher la réunion 4

Dans la colonne CQ il faut aller chercher la réunion 5

Dans la colonne DA il faut aller chercher la réunion 6

Dans la colonne DK il faut aller chercher la réunion 7

Dans la colonne DU il faut aller chercher la réunion 8

Et comme je ne sais pas comment faire pour faire c’la car sa change tous les jours je faisais un point d’arrêt

pour que je puisse changer les cellules des colonnes ou ce trouve les réunions

EX: aujourd’hui dans la colonne BC la réunion est ► Réunion 1 Programme du 28/05/2018 à 13:10 - SAINT CLOUD

Je supprimais cette phrase que je remplaçais part et a la fin de la réunion c’est a dire qu’ aujourd’hui

il y a 9 course dans la réunion1 je mettais a la fin FIN pour que le programme puisse fonctionner

Vous verrez que dans la Feuille Model 01 en colonne BC1000 j’ais mis N° et FIN

en espérant avoir et acer clair c’est sur que de l’expliqué comme c’la c’est pas évidant

Alors je pensais que si on allait chercher juste le mot Réunion 1 dans la colonne BC etc. pour chaque

colonne

Cdlt

@kiss6

Re,

Si toute fois vous avez du mal a comprendre essayé avec le programme d’origine

Aller dans le module Préparation et placé les point d’arrêt au endroit indiqué et actionner le module avec

F8 quand vous arriverez au 2èime point d’arrêt c’est a dire aux colonnes BC:HH effacer la phrase

qui ce trouve en BC36 et la remplacer part et ensuite descendre en BC57 et y inscrire FIN

Même si vous le faite pour une seule Réunion le programme fonctionnera et comme c’la vous verrez part

vous même ce qui ce passe

Cdlt

@kiss6

Re,

Bon j’ai vu le principe, mais je n’ai pas vu le résultat final
Ensuite, pour les autres réunions, comment cela se passe

Re, @Mimimathy

Des jas si on trouve pour une Réunion c’la seras bien car après pour les autres c’la ne seras pas un

problème puisque c’est toujours pareils pour les autres Réunions

J’ais bien essayé de mettre un bout de votre code

Range(“BC1”).Select
Cells.Find(What:=“Réunion 1”, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
NoLigne = ActiveCell.Row 'Attribue le N° de la ligne
Deb = NoLigne

C’la vas bien me chercher Réunion 1 mais en colonne (“H”)

Apres j’ais changer le SearchDirection mais plus de curseur mais en tout cas ce qui est sur c’est qu’il n’est

pas en colonne (“H”) bon nous vairons c’la demain et merci de votre patience :+1:

Cdlt

@kiss6

Bonjour,
Pour la 1ère Réunion

Au dessus de la macro

Dim NoLigne%, Deb%, Fin%, Col%

Sub preparation()
  Sheets("Je joue !!!").Activate

Au '2 faire un point d’arret

        .ReadingOrder = xlContext
        .MergeCells = False
        '2 faire un point d'arret
    End With
    Sheets("01").Select
    Range("BC1000:HH1075").Select
    Selection.Copy
    Range("A1").Select
    Sheets("01 (2)").Select
    Range("BC1000").Select
    ActiveSheet.Paste
    Col = ActiveCell.Column '---> Ajouté
    Reunion                 '---> Ajouté
    Range("" & [BC1003].Value).Select
    Selection.Copy

tout en bas après le End Sub mettre cette macro

Sub Reunion()
  With Sheets("01 (2)").Range(Cells(1, Col), Cells(999, Col))
    Set c = .Find("Réunion 1", LookIn:=xlValues, LookAt:=xlPart)
      If Not c Is Nothing Then
        DebR = c.Address
        Range(DebR) = "N°"
      End If
    Set c = .Find("Réunion", LookIn:=xlValues, LookAt:=xlPart)
      If Not c Is Nothing Then
        FinR = c.Address
        Range(FinR).Offset(-2, 0) = "FIN"
      End If
  End With
End Sub
1 « J'aime »

Re,

Bonjour @Mimimathy

Bon j’ais placé votre code comme vous me l’indiquez et j’ais changé ces ceux lignes

Part " Range(Debr)=« Réunion 1 ») " car « N° » c’était mois qui le rajoutais quand les colonne (« BC:HH »)

était sélectionnées et la deuxièmes est

Part " Range(FinR).Offset(-2,0)=« Réunion 2 » car la pareil c’était moi qui le rajoutait parce que le programme

quand on le fait tourner range en « BC:HH » que les réunions du jour et sans « N° ni FIN »

je vais vous envoyer le classeur « essaie VBA(1) » et vous verrez quand colonne « BD1001 » il me trouve

bien « Réunion 1 » à la ligne « BC36 » mais me trouve « Réunion 2 » a la ligne BC34 car c’est là que

ce trouve le premier « Réunion 2 »

Alors je crois qu’il faudrait que lorsque la macro nous trouve le mot « Réunion 1 » partir de la ligne de ce

mot trouvé et descendre jusqu’à trouvé le mot « Réunion 2 »

Voici le classeur ===>essaie VBA(1).xlsm (256,9 Ko)

Cdlt

@kiss6

Re,

AH OK je n’avais pas bien regarder la fonction de la macro je vient de la comprendre je l’ais donc remis

dans sont contexte

Bon c’la me met bien « N° » en ligne BC36 mais c’la me met « FIN » en ligne « BC34 » au lieu de

« BC55 »

Apres ce que je ne comprend pas c’est le -----> ajouté a ces lignes

es qu’il faut que je précise les colonnes et la Réunion pour les autres

Cdlt

@kiss6