| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 11 décembre 2017 - 10:37 |
bonjour à tous, Avant chaque transfert de plages nommées dans Excel je raz les plages déjà existantes de la feuille ouverte en cours comme ci dessous :
n est une chaîne i = 0 POUR i = 1 A xl>>ActiveSheet>>names>>Count n = xl>>ActiveSheet>>names[i]>>name QUAND EXCEPTIONEXCEPTION DANS xl>>ActiveSheet>>range(n)>>Delete FAIRE FIN FIN le nommage des plages se suppriment bien mais pas le contenu des cellules, bizarre .. qu'est ce que j'ai oublié ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 11 décembre 2017 - 19:56 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 12 décembre 2017 - 18:00 |
hello, tu peux essayer :
QUAND EXCEPTIONEXCEPTION DANS xl>>ActiveSheet>>range(n)>>ClearContents xl>>ActiveSheet>>range(n)>>Delete FAIRE FIN
-- Ami calmant, J.PMessage modifié, 12 décembre 2017 - 18:01 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 12 décembre 2017 - 20:02 |
Coucou,
Je crois que tu dois pas oublier de replace un ExceptionActive()
ExceptionActive()
Je te salut en passant Jurassic Pork
-- In üs we trust - Joyeux noël |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 12 décembre 2017 - 21:29 |
Merci pour ta réponse Jurassic Pork, mais mon appli ne passe plus dans cette boucle : POUR i = 1 A xl>>ActiveSheet>>names>>count et donc je peux tester ta ligne en plus, je ne comprends pas pourquoi ... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 12 décembre 2017 - 21:29 |
Heu .. je ne connais pas cette instruction, je la code ou ? ça fait quoi ? merci encore pour ta réponse |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 12 décembre 2017 - 21:34 |
Coucou,
^^, regarde dabs la dox, met dans dans le code qui catch l exeption ^^
-- In üs we trust - Joyeux noël |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 12 décembre 2017 - 22:25 |
ce code (plus bas) me renvoie 0 au lieu du nombre de cellules nommées, pourtant le classeur est ouvert avant que je lance cette instruction et il y a bien des cellules nommées ... pfuu .. que dois je faire ?
xl>>ActiveSheet>>names>>Count |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 12 décembre 2017 - 23:25 |
Coucou,
passe en v23, et t arrete les pilotage hazardeux. .. Dixit: Jerome
-- In üs we trust - Joyeux noël |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 12 décembre 2017 - 23:32 |
hello, Méfiance ! Dans Excel,il y a des plages nommées par feuille et par classeur. Pour voir ceci il faut aller dans Formules/Gestionnaire de noms, dans la colonne étendue. Si tes plages sont en étendue Classeur il faut utiliser :
POUR i = 1 A xl>>ActiveWorkBook>>Names>>Count n=xl>>ActiveWorkBook>>Names[i]>>Name xl>>ActiveSheet>>range(n)>>ClearContents() xl>>ActiveSheet>>range(n)>>Delete FIN
-- Ami calmant, J.PMessage modifié, 12 décembre 2017 - 23:33 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 13 décembre 2017 - 09:47 |
Merci encore pour ta patience Jurassic Pork, j'ai regardé dans excel et effectivement c'est en étendue classeur, j'ai donc utiliser ton code. Cependant j'ai une erreur d'exécution sur la ligne "ClearContent" : Range, le membre n'existe pas. que puis je faire ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 13 décembre 2017 - 09:49 |
Merci Charly Cando, je vais acheter la maj 23 avant la fin d'année, mais ça m'apportera quoi ? il y a des nouvelles fonctions pour Excel ? Mon client utilise Excel depuis très longtemps, des tonnes de tableaux croisés dynamiques, il ne va surement pas passer au tableur interne de Windev, même si il est très bien. c'est de cela que tu voulais parler ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 13 décembre 2017 - 17:16 |
hello, regarde bien je réutilise un activeSheet pour le range>>clearcontents avec un activeWorkbook cela ne fonctionne pas
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 13 décembre 2017 - 17:22 |
ben .. oui, j'ai recopié ton code et j'ai l'erreur |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 14 décembre 2017 - 07:01 |
hello, tu peux essayer alors :
nomPlage est une chaîne nbPlages est un entier i est un entier = 0 nbPlages = xl>>ActiveWorkBook>>Names>>Count
POUR i = 1 A nbPlages nomPlage = xl>>ActiveWorkBook>>Names[i]>>Name xl>>ActiveWorkBook>>Names[i]>>RefersToRange>>ClearContents xl>>ActiveWorkBook>>Names[i]>>RefersToRange>>Delete FIN
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 14 décembre 2017 - 09:24 |
ça ne fonctionne pas, j'ai un message d'erreur sur la ligne : xl>>ActiveWorkBook>>Names[i]>>RefersToRange>>ClearContents "en tentant de lire la propriété <RefersToRange>... le membre demandé n'existe pas" |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 14 décembre 2017 - 09:34 |
Pourtant lorsque j'active les traces que tu as commenté, j'ai bien le nombre de plages et le nom des plages |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 14 décembre 2017 - 11:50 |
peut être un pb avec la version d'Excel : Moi j'utilise la version 2010
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 14 décembre 2017 - 12:13 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 14 décembre 2017 - 17:12 |
tu as quelle version de Windev ? sinon tu peux essayer de mettre des parenthèses sur clearcontents et delete :
xl>>ActiveWorkBook>>Names[i]>>RefersToRange>>ClearContents() xl>>ActiveWorkBook>>Names[i]>>RefersToRange>>Delete() en windev 16 et excel 2010 les deux syntaxes (avec ou sans parenthèse) passent
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 14 décembre 2017 - 17:39 |
en fait j'ai codé ça :
r est un entier Nb est un entier = xl>>ActiveWorkBook>>Names>>Count POUR r = 1 A Nb QUAND EXCEPTIONEXCEPTION DANS xl>>range(xl>>ActiveWorkBook>>Names[r]>>Name)>>Delete FAIRE FIN FIN et ça fonctionne bien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 14 décembre 2017 - 17:40 |
je suis en windev 22, ou peut on trouver toutes les propriétés (ole excel) que l'on peut utiliser dans windev ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 14 décembre 2017 - 22:42 |
par exemple pour excel 2007 pour voir tous les objets tu peux aller sur : https://msdn.microsoft.com/en-us/library/bb149081(v=office.12).aspx
et naviguer dans les objets pour voir les méthodes et propriétés
-- Ami calmant, J.PMessage modifié, 14 décembre 2017 - 22:43 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 628 messages Popularité : +0 (16 votes) |
|
Posté le 15 décembre 2017 - 09:28 |
Merci beaucoup pour ta patience et ton aide |
| |
| |
| | | |
|
| | |