Macro recherche qui ne fonctionne plus en mode partage

Bonjour à tous,

J'ai une base de donnée que je souhaite partager avec un collègue. Cette BDD contient une macro permettant de faire des recherche dans une colonne.

Cette macro fonctionne parfaitement !

Sauf qu'en mode partage, elle m'affiche un message d'erreur et ne fonctionne plus du tout...

Je vous ai mis la macro en PJ

Merci encore !!!

Cordialement

El Boyoo

19test.xlsm (61.22 Ko)

Salut Boyoo!

en mode partage, elle m'affiche un message d'erreur et ne fonctionne plus du tout...

C'est normal, en mode partagé les macros ne fonctionnent pas!

Il faut mettre une désactivation du mode partagé [...]

Application.DisplayAlerts = False
ActiveWorkbook.ExclusiveAccess

[...] au début de ton code, et [...]

 Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
Application.DisplayAlerts = False

[...] pour réactivé le partage!

Restant à dispo

Bonjour Juice,

Merci pour ta réponse

Le problème est que la barre de recherche que j'utilise contient 4 codes... j'ai essayé de mettre tes lignes de codes au début et à la fin de chaque code, mais ca ne fonctionne pas :/

En plus ce sont des Private sub (je ne sais pas si ca joue)

Re-

Si tu souhaite vraiment conserver ton code alors modifie le comme cela, et active le partage du classeur avant d'essayer de modifié ta TextBox :

Private Sub TextBox1_Change()
Application.DisplayAlerts = False
ActiveWorkbook.ExclusiveAccess
Application.ScreenUpdating = False

    Range("A2:A1000").Interior.ColorIndex = 2
    ActiveWindow.ScrollRow = 9
    With Me.ListBox1
      .Clear
      .ColumnCount = 2
      .ColumnWidths = "-1;0"
      .Height = 60
      .Width = 230
    End With
    If TextBox1 <> "" Then
        For ligne = 2 To 1000
            If Cells(ligne, 1) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1).Interior.ColorIndex = 43
                ListBox1.AddItem Cells(ligne, 1)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = ligne
            End If
        Next
    End If
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessMode:=xlShared
Application.DisplayAlerts = False
End Sub

Mais du coup, à chaque saisie dans ton TextBox, le partage va s'enlever et se remettre, ce qui rend l'exécution du code plutôt longue pour écrire deux ~ trois lettres

Pourquoi ne pas simplement utiliser une Mise en Forme conditionnelle ?

Au moins sa ne plante pas à cause du partage.

Restant à ta dispo

Ah je vois ce que tu veux dire,

Que veux tu dire par la mise en forme conditionnelle?

Une mise en forme conditionnelle permet de [ALERT SPOIL] mettre en forme des plages selon des conditions ;p

En gros, plutôt que d'avoir un TextBox, tu a une cellule (n'importe laquelle) où tu rentre ta recherche, et via la MFC, les cellules correspondantes se mettent en couleur (Cf Fichier)

L'avantage :

C'est pas lent

Sa ne nécessite pas de VBA

Sa ne bug pas à cause du partage

Désavantage :

Nécessite d'appuyer sur entrer pour lancer la recherche contrairement à la TextBox où la saisie suffit.

Voilà; voilà. Après c'est ta décision ;D

Je reste à ta dispo

7copie-de-test.xlsm (53.90 Ko)

Merci pour ce petit cours

Par contre le problème de la mise en forme conditionnelle, c'est qu'il ne m’emmène pas à la bonne case :/ Il y aurait un moyen de faire ca?

il ne m’emmène pas à la bonne case

Ah? Votre TextBox permettait de sélectionner la case correspondante ?

Alors, sauf erreur de ma part, il y a que par VBA que tu peut faire sa :/

il ne m’emmène pas à la bonne case

Ah? Votre TextBox permettait de sélectionner la case correspondante ?

Alors, sauf erreur de ma part, il y a que par VBA que tu peut faire sa :/

Salut Juice,

Oui effectivement, c'est pratique quand tu as une grande liste !!

C'est dommage qu'il n'y ait pas d'alternative

Rechercher des sujets similaires à "macro recherche qui fonctionne mode partage"