Tester contenue d'une cellule et nom d'une feuille
Résolu/Fermé
camcam1404
Messages postés
64
Date d'inscription
mardi 13 décembre 2016
Statut
Membre
Dernière intervention
9 septembre 2019
-
Modifié par pijaku le 15/02/2017 à 13:53
camcam1404 Messages postés 64 Date d'inscription mardi 13 décembre 2016 Statut Membre Dernière intervention 9 septembre 2019 - 16 févr. 2017 à 09:46
camcam1404 Messages postés 64 Date d'inscription mardi 13 décembre 2016 Statut Membre Dernière intervention 9 septembre 2019 - 16 févr. 2017 à 09:46
A voir également:
- Tester contenue d'une cellule et nom d'une feuille
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Aller à la ligne dans une cellule excel - Guide
- Comment supprimer une feuille sur word - Guide
- Verrouiller cellule excel sans verrouiller la feuille - Guide
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
15 févr. 2017 à 13:42
15 févr. 2017 à 13:42
Bonjour Camcam, bonjour le forum,
Il y a un espace en trop entre la parenthèse (ouverture après Right) et O (de O.Name). Si tu le supprimes la ligne ne plante plus. Mais je ne sais pas si la résultat escompté est conforme ?!...
Ton code modifié :
Il y a un espace en trop entre la parenthèse (ouverture après Right) et O (de O.Name). Si tu le supprimes la ligne ne plante plus. Mais je ne sais pas si la résultat escompté est conforme ?!...
Ton code modifié :
Sub jpp() Dim REF As Worksheet Dim Lastline As Long Dim O As Worksheet Dim I As Long Dim rangezuabsuchen As Range Dim gefunden As Range Set REF = Worksheets("REF") Lastline = REF.Range("A1").End(xlDown).Row For Each O In ActiveWorkbook.Worksheets If UCase(O.Name) Like "*RES*" Then For I = 2 To Lastline If REF.Cells(I, 1) = Right(O.Name, 10) Then SNzusuchen = REF.Cells(I, 3) Set rangezuabsuchen = O.Columns(2) Set gefunden = rangezuabsuchen.Cells.Find(what:=SNzusuchen) If gefunden Is Nothing Then REF.Cells(I, 5) = 0 Else REF.Cells(I, 5) = 1 End If End If Next I End If Next O End Sub
15 févr. 2017 à 14:24
Mais ce ne fonctionne quqnd meme pas.
Je crois que le probléme viens de lá:
O,Name n'est pas un String mais je sais pas ce que c'est enfaite.. (La fonction Right est valable que pour des strings)
Je vais voir comment je üeux convertir le O.Name
Modifié par ThauTheme le 15/02/2017 à 14:35
La propriété [Name] renvoie toujours du String même si le nom de ton onglet est un numéro. Exemple, tu as nommé ton onglet 123, O.Name renvoie "123" (la chaîne de caractères "123" pas le numéro 123). Es-tu sûr que le nom contienne 10 caractères minimum ?
15 févr. 2017 à 15:08
Le nom des feuilles est du type: REF_01.01.2017
Et ce le terme 01.01.2017 que je veux prendre en compte avec la fonction Right(O.Name,10)
15 févr. 2017 à 15:19
Tu compares une chaîne de caractère, tirée du nom d'un onglet, avec une date dans une cellule. Attention ! Les dates s'affichent selon le format dans la cellule où elles se trouvent. Tu peux avoir écrit en A1 : 10.01.2017 alors que Range("A1").Value renvoie 10/01/2017.
Dans ce cas la comparaison :
peux ne pas fonctionner.
Soit tu compares deux dates :
Soit tu compares deux chaines de caractères :
Mais tu risques d'avoir encore le problème d'inversion Mois/Jour...
16 févr. 2017 à 09:46