Macro vba

Résolu
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011 - 3 déc. 2010 à 13:27
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 22 déc. 2010 à 18:29
slt le forum
excuser moi,je cherche une macro qui m'aidera a faire:
je cherche soitent 3 valeur dans une plage
si elles sont trouvées alors un compteur doit s'incrementer a 3 et le "3" sera affiché dans une cellule d'un autre classeur

34 réponses

jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
14 déc. 2010 à 16:18
Il suffit d'enlever la condition
If valX <> "" 



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
14 déc. 2010 à 17:24
merci pour la reponse mais je ne veux pas dans ce cas utiliser une plage comme tu l'as faite
voici le code que je veux utiliser

Range(ActiveCell, ActiveCell.End(xlDown)).Copy

et ça marche mais si dans la colonne il ya une ligne vide,il ne copie plus les autre valeurs qui suivent la ligne vide
et ça fausse mes resultats

merci de m'aider
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
15 déc. 2010 à 13:39
bonjour
je reviens encore vers vous

il ya t'il un moyen de renommer automatiquement des classeurs en fixant leurs noms??
voici ce code que j'utilise

Function renommer()
Dim Fso As Object
Sheets("config").Activate
For i = 5 To 10
lien = "c:\WEEK" & x & "\MFS" & i & ""

Classeur = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls")
Set Fso = CreateObject("Scripting.FileSystemObject")
lien = Fso.GetFile(Classeur).ParentFolder

Name Classeur As lien & "\\\\\\\\MFS" & i & ".xls"
Workbooks.Open "c:\WEEK" & x & "\MFS" & i & "\MFS" & i & ".xls"
ActiveWorkbook.RunAutoMacros xlAutoOpen
Next i
End Function

ça marche mais je ne veux pas qu'il m'ouvre la boite de dialogue a chaque foi qu'il veut renommer
merci d'avance
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
21 déc. 2010 à 16:57
slt le forum
grace a vous ,specialement jordane45 ,j'ai pu avancer dans ma macro
vraiment j'en suis tres reconnaissant

mais un tout dernier souci:je copie des donnees sur des feuilles et je les colle sur une autre feuille par une macro
mais ce que je veux c'est etablir une correspondance entre ces donnees et leurs noms specifiques
je m'explique:soit je copie le numero suivant "558965544" mais qui en realite a un nom soit "BSDER/48/8"
donc je souhaiterais coller son reelle nom "BSDER/48/8" au lieu de son numero "558965544"

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
21 déc. 2010 à 18:41
Bonjour,
soit je copie le numero suivant "558965544" mais qui en realite a un nom soit "BSDER/48/8"
donc je souhaiterais coller son reelle nom "BSDER/48/8" au lieu de son numero "558965544"


Oups.. je n'ai pas tout compris

Peux tu nous en dire un peu plus ?
- Tu copies de où à où ?
- Comment sont présentés tes colonnes (nom / numero).
- Que souhaites tu recopier exactement (le Nom ou le Numéro ?)

je veux c'est etablir une correspondance entre ces donnees et leurs noms specifiques


Là encore.. peux tu nous expliquer ce que tu appelles une "correspondance" ? Est-ce que tu veux pouvoir faire une formule de recherche qui te retourne le nom par rapport au Numéro ?


PS:
Si je peux me permettre..
Le plus simple pour avoir des réponses à tes questions serait déjà de commencer par poser UNE seule question par sujet.
Egalement, lorsqu'une réponse te convient, tu fermes le sujet en cliquant sur réponse accéptée.

Bref...N'hésites pas à recréer ta question (en essayant vraiment d'être le plus précis possible. Penses que nous n'avons pas ton fichier devant les yeux et que nous ne pouvons pas deviner ce que tu souhaites réaliser. )


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
22 déc. 2010 à 11:44
bonjour
en fait ces numeros que je copie d'une feuille1 à une autre feuille2 ont des noms specifiques qu'on m'a donné.
donc les noms ne figurent pas sur la feuille1,et ce ne sont que ces numeros dont j'ai parlé plus haut.
on me demande de faire une macro qui apres copie des numero sur la feuille1,de coller les noms au lieu des numeros
donc comment m'y prendre?
c'est un peu ça ma preocupation
merci d'avance
0
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 déc. 2010 à 12:09
Bonjour,

Plusieurs façons de faire :
- Si tu as dans la feuille 1 des numéros et dans la feuille2 ces mêmes numéros + les noms, tu pourrais utiliser une formule excel plutot qu'une macro (regarde du côté des rechercheV ou Index/equiv)

- Sinon, par macro, tu pourrais parcourir toute ta feuille 1 et regarder pour chaque numéro si il est présent dans la feuille2 et ainsi récupérer la valeur de la colonne "NOM".
en gros...
'Boucle sur la feuille1
For L=1 to 1000 ' de la ligne 1 à 1000
    Numero=Sheets(1).Cells(L,"A").value ' Si en colonne A tu as les numéros..
   For X = 1 to 1000 ' boucle sur la deuxième feuille
    Numero2=Sheets(2).Cells(X,"A").value ' Si en colonne A tu as les numéros..
    If Numero=Numero2 Then 'test si le numéro correspond...
      NOM=Sheets(2).Cells(X,"B").value ' Si en colonne B tu as les noms..
      Sheets(1).Cells(L,"A").value =Sheets(2).Cells(X,"B").value 'Recopie du nom..
    End IF
   Next 'Fin boucle feuil2
Next 'fin de la boucle feuil1


Ce code utilise 2 boucles imbriquées...
Il existe d'autres façons de faire (plus rapide)comme par exemple l'utilisation de la fonction FIND (mais..ça.. je te laisse un peu chercher)

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
22 déc. 2010 à 12:15
merci pour la reponse
mais la feuille2 ne contient aucune information.
c'est sur cette feuille que je vais coller ce que j'ai copié sur la feuille1
0
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 déc. 2010 à 12:34
Ce n'est que le "principe" que je t'ai donné.
A toi de l'adapter à tes besoins.

Encore une fois, n'ayant pas le fichier sous les yeux, je ne peux que supposer comment sont présentées tes données..

Bon courage ^^


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
22 déc. 2010 à 12:39
je t'avais envoyé un fichier dans un moment
te souvient tu??
si oui,c'est le meme fichier
si non redonne moi le lien pour te le faire parvenir

merci
0
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 déc. 2010 à 13:39
Bonjour,
depuis je n'ai pas du le conserver..
Remets le sur le site : www.ci-joint.fr et affiche le lien sur le forum.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
22 déc. 2010 à 18:06
excuse moi si je ne t'ai pas envoyer le fichier
en faite quand j'ai bien parcouru le code que tu m'envoyer,je me retrouve mais je n'arrive pas a le faire d'un classeur a un autre
au lieu d'une feuille a une autre feuille

merci
0
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 344
22 déc. 2010 à 18:20
Bonjour,

Petite leçon sur le VBA Excel..
Tu as des objets (exemples : Le classeur )
Ces objets peuvent en contenir d'autres : Exemple : Les feuilles. ( et dans les feuilles les cellules;..etc..).

Lorsque tu veux manipuler les données de tes classeurs, tu dois indiquer dans quel objet tu travailles :

Si tu veux prendre la valeur de la cellule A1 de ta feuille 1 De ton classeur 1 tu ecris : Workbooks("CLASSEUR1").Sheets("Feuil1").Range("A1").value

Donc pour "copier/coller" de ton classeur 1 au 2 tu peux écrire :
Workbooks("CLASSEUR2").Sheets("Feuil1").Range("A1").value = Workbooks("CLASSEUR1").Sheets("Feuil1").Range("A1").value

J'espere que ça va pouvoir t'éclairer un peu sur la question.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
komanvi Messages postés 57 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 8 mars 2011
22 déc. 2010 à 18:26
vraiment merci
excuse moi,pourai avoir ton email ou contact??
0
Rejoignez-nous