Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011
-
17 mai 2010 à 20:32
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011
-
18 mai 2010 à 08:46
bonsoir
j'ai un ptit pb avec des selection de cellule
je vais vous simplifier mon classeur ca devrai etre plus compréhensible
sur une feuille jai 2 colonnes A et B
Colonne A jai des menu déroulant ou je choisie une valeur (texte)
colonne B jai mis une formule rechercheV.... afin dafficher une valeur correspondant à la colonne A
toutes mes cellule ne sont pas utilisées, du coup en colonne A jai des cellules vides qui ne pose pas de pb mais en colonne B jai des cellule qui contiennent la formule =SI(ESTERREUR(RECHERCHEV(C5;fourn!A:D;4))=VRAI;"";RECHERCHEV(C5;fourn!A:D;4)) du coup ca n'affiche pas de valeur du genre #N/A la cellule est vide (cest ce que je veux) MAIS la macro sais qu'il y a qqch du coup quand je selectionner la dernière cellule pleine de la colonne B Activesheet.Range("B:B3"& Activesheet.range("B66536").End(xlUp).Row).... il plante car il y a une valeur mais elle est du type #N/A.
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 17 mai 2010 à 21:12
Bonjour,
Tu lances donc une macro sur les cellules de la colonne B, je me trompe ?
Pour ma part, quand je suis dans ce cas, dans ma macro, je commence par mettre dans la colonne C une copie de la colonne B "PAR VALEUR"
De ce fait ta colonne C est une copie de B mais sans aucune formule en arrière.
J'espère avoir été claire et que cela pourra aider ^_^
VB6, quand yen a plus yen a encore
Il y a tant a apprendre et seulement 24 heures dans une journée
Flocreate
Messages postés300Date d'inscriptionlundi 17 juillet 2006StatutMembreDernière intervention27 mai 20123 17 mai 2010 à 21:15
Je viens de penser à une autre méthode ^^
Si cela est plus symple pour toi, dans excel il y a moyen de connaitre le type de valeur contenu par une cellule.
si tu fais un traitement pour chaque cellule, tu peux faire un
if (le type de la cellule n'est pas une ERROR) then
' traiter pour une cellule pas en erreur
else
' traiter pour une cellule en erreur (donc vide)
End if
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011 17 mai 2010 à 21:44
en fait ma macro ne sert qu'a copier coller des cellules vers une feuille ou une autre en fonction de la valeur de la dernière ligne pleine de la colonne A.
Le problème cest que visuellement à l'écran la dernière ligne pleine est par exemple la 7 mais sur les ligne 8 9 10 il y a une formule dont le résultat ne s'affiche pas grace à la formule =SI(ESTERREUR
(RECHERCHEV(C4;fourn!A:D;4))=VRAI;"";RECHERCHEV(C4;fourn!A:D;4)) mais dès que j'aurais choisi une valeur dans le menu déroulant de la colonne A il ira rechercher une valeur correspondant a la valeur saisie en A tjs grace à la formule =SI(ESTERREUR(RECHERCHEV(C4;fourn!A:D;4))=VRAI;"";RECHERCHEV(C4;fourn!A:D;4))
et l'affichera
je voudrais savoir comment désigner la dernière ligne vide d'une colonne sans tenir compte de ligne visuellement vide (ici les ligne 8 9 10)
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011 18 mai 2010 à 08:31
je pense qu'il faudrait utiliser du if mais je ne sais pas trop comment le syntaxer
il faudrait que j'ai qqch du genre if ("B65536")différent de #N/A then str=("B65536").value
else passer à la ligne d'audessus et la encore vérifier if ("B65536")différent de #N/A then str=("B65536").value
else passer à la ligne d'audessus et ainsi de suite
je n'arrive pas a l'écrire correctement pourrier vous m'aider ???
Merci
Jacky
Vous n’avez pas trouvé la réponse que vous recherchez ?
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011 18 mai 2010 à 08:46
voilà mon code y'aurait - il des erreurs si oui comment syntaxer tout ca merci de votre aide
jacky
Sub Commande()
Dim Str As String, MaFeuille As Worksheet
ca dois donner qqch comme ca je pense mais pas sur du tout
If str.value =#N/A then
Range("A65536").End(xlUp).Row - 1
Else str = selection
End if
If str = "001"
Set MaFeuille = Sheets("F001")
End If
If Str = "F003" Then
Set MaFeuille = Sheets("F003")
End If