Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

est ce un bug de excel 2000 ?

5 réponses
Avatar
denis le breton
bonjour,
je en comprends plus, je teste sur 2003 c'est ok, je teste sur 2000 un coup
ça marche un coup ça marche plus
Une liste de valeurs en colonne
en a2 Hm
en a3 Pt
en a4 Hm
en a5 ...
En ligne les valeurs possibles
en B1 Hm, en C1 Pt
je veux trouver x en B2, B4 en C3
Je traite cela en VBA
- - -
derlign = 10 ' en fait derlign est la dernière ligne de
mon fichier
Range("B1").Select
ActiveCell.FormulaR1C1 = "Hm"
Range("B2").Select
ActiveCell.Formula = "=IF(RC[-1]=R1C2,""x"","""")"
Selection.AutoFill Destination:=Range("B2:B" & derlign),
Type:=xlFillDefault
Range("C1").Select
ActiveCell.FormulaR1C1 = "Pt"
Range("C2").Select
ActiveCell.Formula = "=IF(RC[-2]=R1C3,""x"","""")"
Selection.AutoFill Destination:=Range("C2:C" & derlign),
Type:=xlFillDefault
- - -
dans un fixchier nouveau ça tourne
dans mon fichier le résultat est
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
la seule variable déclarée
dim derlign as long
C'est quoi ce binzz ??

5 réponses

Avatar
AV
Ce qui est pas mal, c'est de donner suite à un fil.....
Pour ton problème (du jour comme pour son "petit frère" précédent),
l'utilisation de "AutoFill" est inutile :

Une ligne devrait suffire à ta demande :
Range("B2:C" & derLigne) = "=if($A2=indirect(address(1,column())),""x"","""")"

PS : Il est évident que (comme dit précédemment), si la variable derLigne n'est
pas définie, la chose va se planter !
AV
Avatar
denis le breton
Bonjour AV
désolé pour la rupture et reprise du fil
des fois je me demande si du jour au lendemain après 25 post les fils
précédents sont relus, d'où ma démarche
Ce qui me paraît bizarre, en sachant que la variable est bien déclarée et
alimentée, ce que la formule tourne ... pas tout le temps

concernant la tienne,
je rencontre le même pb
=if($n2=indirect(address(1,column())),"x","")
=if($n2=indirect(address(1,column())),"x","")
=if($n2=indirect(address(1,column())),"x","")
=if($n2=indirect(address(1,column())),"x","")
donc interprétation erronée de ? la syntaxe , du code , non déclaration de
???
je ne sais plus (déjà que je ne savais pas)

Que ce fil tienne jusqu'à la réponse ...
Merci
Denis


Ce qui est pas mal, c'est de donner suite à un fil.....
Pour ton problème (du jour comme pour son "petit frère" précédent),
l'utilisation de "AutoFill" est inutile :

Une ligne devrait suffire à ta demande :
Range("B2:C" & derLigne) = "=if($A2=indirect(address(1,column())),""x"","""")"

PS : Il est évident que (comme dit précédemment), si la variable derLigne n'est
pas définie, la chose va se planter !
AV





Avatar
AV
des fois je me demande si du jour au lendemain après 25 post les fils
précédents sont relus,


Si, si....on est des gens sérieux ici : On assure le SAV

Exemple qui n'a pas de souci chez moi
là : http://cjoint.com/?dkmwK58ToN

AV

Avatar
Denis
Bonjour,
ce n'est pas un bug d'excel
Simplement tes cellules ont le format Texte avant
l'exécution de ta macro. mets les en format standard avant
l'exécution de ton code.
un truc comme ca après derlign devrait convenir
Range(Cells(2, 2), Cells(3, derlign)).NumberFormat = "General"
Denis
-----Message d'origine-----
bonjour,
je en comprends plus, je teste sur 2003 c'est ok, je teste
sur 2000 un coup

ça marche un coup ça marche plus
Une liste de valeurs en colonne
en a2 Hm
en a3 Pt
en a4 Hm
en a5 ...
En ligne les valeurs possibles
en B1 Hm, en C1 Pt
je veux trouver x en B2, B4 en C3
Je traite cela en VBA
- - -
derlign = 10 ' en fait derlign est la
dernière ligne de

mon fichier
Range("B1").Select
ActiveCell.FormulaR1C1 = "Hm"
Range("B2").Select
ActiveCell.Formula = "=IF(RC[-1]=R1C2,""x"","""")"
Selection.AutoFill Destination:=Range("B2:B" & derlign),
Type:=xlFillDefault
Range("C1").Select
ActiveCell.FormulaR1C1 = "Pt"
Range("C2").Select
ActiveCell.Formula = "=IF(RC[-2]=R1C3,""x"","""")"
Selection.AutoFill Destination:=Range("C2:C" & derlign),
Type:=xlFillDefault
- - -
dans un fixchier nouveau ça tourne
dans mon fichier le résultat est
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
la seule variable déclarée
dim derlign as long
C'est quoi ce binzz ??

.



Avatar
denis le breton
Comme la solidatité entre Denis ...
et oui cela fonctionne ... enfin

Merci à AV (maria) d'aujourd'hui
et à AV d'hier pour leur soutien

Denis le breton


Bonjour,
ce n'est pas un bug d'excel
Simplement tes cellules ont le format Texte avant
l'exécution de ta macro. mets les en format standard avant
l'exécution de ton code.
un truc comme ca après derlign devrait convenir
Range(Cells(2, 2), Cells(3, derlign)).NumberFormat = "General"
Denis
-----Message d'origine-----
bonjour,
je en comprends plus, je teste sur 2003 c'est ok, je teste
sur 2000 un coup

ça marche un coup ça marche plus
Une liste de valeurs en colonne
en a2 Hm
en a3 Pt
en a4 Hm
en a5 ...
En ligne les valeurs possibles
en B1 Hm, en C1 Pt
je veux trouver x en B2, B4 en C3
Je traite cela en VBA
- - -
derlign = 10 ' en fait derlign est la
dernière ligne de

mon fichier
Range("B1").Select
ActiveCell.FormulaR1C1 = "Hm"
Range("B2").Select
ActiveCell.Formula = "=IF(RC[-1]=R1C2,""x"","""")"
Selection.AutoFill Destination:=Range("B2:B" & derlign),
Type:=xlFillDefault
Range("C1").Select
ActiveCell.FormulaR1C1 = "Pt"
Range("C2").Select
ActiveCell.Formula = "=IF(RC[-2]=R1C3,""x"","""")"
Selection.AutoFill Destination:=Range("C2:C" & derlign),
Type:=xlFillDefault
- - -
dans un fixchier nouveau ça tourne
dans mon fichier le résultat est
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
=(IF(RC[-1]=R1C13,"x",""))
la seule variable déclarée
dim derlign as long
C'est quoi ce binzz ??

.