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

tester l'existence d'une "référence"

  • Initiateur de la discussion Initiateur de la discussion celegorm
  • 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 !

C

celegorm

Guest
bonsoir à tous,
ma première journée avec VBA aura été mouvementée.
là j'essaye de tester l'existence d'un groupe de valeurs.
le code Application.Goto Reference:="test" me pose problème car cette référence "test" n'existe pas forcément. Et lorsqu'elle existe, je veux la supprimer.
Je n'arrive pas à trouver comment tester cette "référence".
J'ai mis le bloc problématique en commentaire dans le code.
le "If (Reference.Name = "test") " ne fonctionne évidemment pas... et je ne trouve pas comment récupérer cette valeur.
D'avance merci de votre aide

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strSearch As String
    strSearch = Range("A2").Value
    If Target.Address = "$A$2" Then

If (Left(strSearch, 4) = "http") Then
'If (Reference.Name = "test") Then
'MsgBox "la référence est inconnue et va être créée"
'Else
'    Application.Goto Reference:="test"
'    Selection.QueryTable.Delete
'    Selection.ClearContents
'  End If
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & strSearch & "", _
        Destination:=Range("$D$2"))
        .Name = "test"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 60
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With

End If
End If
End Sub
 
Re : tester l'existence d'une "référence"

bonjour

je n'ai pas tout compris, mais pour savoir si une chaine existe dans une autre, il y a instr
if instr(Machaine,marecherche) = 0 then msgbox "Pas trouvé"
 
Re : tester l'existence d'une "référence"

je vais être plus précis : lorsqu'on crée une querytable, elle prend un nom. je voudrais effacer la précédente querytable. Mais avant de l'effacer, il faut que je teste son existence (j'utilise toujours le même nom "test"). Comment faire pour récupérer ces nom de querytable ?
 
Re : tester l'existence d'une "référence"

re:

à tester
Code:
Dim essai As QueryTable
Set essai = ActiveSheet.QueryTables("Test")
If Not essai Is Nothing Then essai.Delete
pas très sûr de moi sur ce coup (pas copain avec tout ça)
 
Re : tester l'existence d'une "référence"

je teste, merci beaucoup en tout cas 🙂
résultat: error 9
le "Set essai = ActiveSheet.QueryTables("Test")"
donne une erreur "l'indice n'appartient pas à la sélection"
 
Dernière modification par un modérateur:
Re : tester l'existence d'une "référence"

Bonsoir celegorm, wilfried,

Si j'ai bien compris, pour supprimer le nom "test" du classeur :

Code:
On Error Resume Next
ActiveWorkbook.Names("test").Delete
On Error GoTo 0 'facultatif

A+
 
Re : tester l'existence d'une "référence"

alors effectivement ça me supprime l'occurence test mais à ma grande surprise, le script crée un test_1... puis un test_2 etc. même si "test" a disparu. Du coup je me retrouve rapidement avec des dizaines de names....
o_0
edit: apparemment c'est un bug... si quelqu'un a trouvé le moyen de le contourner...
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
B
  • Question Question
Réponses
2
Affichages
1 K
brice2020
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…