Chercher un mot - copier une valeur
Bonjour,
J'ai regardé ici (et aussi là) mais je n'arrive pas à rassembler les différents bouts de macro que j'ai glânés ici (et là aussi).
Voilà ce que j'aimerais faire :
- Parcourir la colonne A de la feuille1 pour chercher la présence du mot "Moyenne" (qui revient régulièrement dans la colonne)
La longueur de A n'est pas fixée car je rajoute des valeurs au fur et à mesure (mais avec For compteur = 1 To [A65536].End(xlUp).Row, je peux parcourir tout A)
- A chaque occurence de "Moyenne", récupérer la valeur de la cellule d'à-côté (si MOYENNE apparaît en A10, je récupère la valeur en B10)
- Copier la valeur dans la feuille2 (la valeur B10 de la feuille 1 est copiée dans la cellule D10 de la feuille 2)
C'est juste des commandes de bases mais je n'y arrive pas ...
Merci par avance pour votre aide,
Ptit Bleu (vraiment un Ptit Bleu en macro).
Bonjour ptit bleu
Macro XL4 avec bouton qui fait correctement son travail.
Niveau de sécurité des Macros sur Sécurité Moyenne pour réceptionner le fichier.
Cordialement
Amadéus
Merci Amadeus pour la macro (qui fait plus que demandé car au départ je n'avais mis que "moyenne" dans la cellule pour simplifier et maintenant, grâce à toi, je peux préciser) et la rapidité !
Par contre, j'ai une question (très très très) bête : comment j'édite la macro ?
D'habitude, je vais dans "macro", je sélectionne le nom et je fais "modifier" pour l'éditer.
Mais là, ça ne fait rien. Est-ce que ça vient de ma version Excel (2002 SP3) ?
En faisant "pas à pas détaillé", ça s'affiche ligne par ligne. Il va falloir que je me retape tout ou pas ?
En tous les cas encore merci !!!
Bonne journée,
Ptit Bleu.
J'ai trouvé comment afficher la macro grâce à un post sur ce forum déposé le "Mer Oct 25, 2006 3:57 pm" par ... Amadeus himself !
Il est partout et il est vraiment fort !!!
Merci encore,
Ptit Bleu.
Bonjour ptit bleu
Les Macros VBA sont éditées avec Visual Basic Editor.
Les Macros XL4 sont sur des Feuilles Macro qui s'ajoutent aux Feuilles du Classeur.
Le Classeur Moyenne.xls contient 4 Feuilles: Macro1,Feuil1,Feui2 et Feuil3.
Pour des raisons pratiques et éviter l'effacement des formules, la feuille Macro1 est masquée. Pour l'afficher, commande de menu "Format" "Feuille" "Afficher" puis sélectionner "Macro1".
Les formules se copient d'une Feuille Macro à une autre avec un "copier, coller" normal.
Pour insérer une Feuille Macro XL4 dans un classeur, click droit de la souris sur les onglets du classeur "Insérer" "Macro MS Excel 4.0".
La Validation de la Macro se fait en sélectionnant la premiére ligne de la Macro et "Insertion" "Nom" "Définir" , sélectionner "Commande" et "Ce Classeur".
un Bouton, un objet ou une image s'affecte normalement. Click droit et affecter à la Macro.
Cordialement
Amadéus
Au risque d'abuser, quelqu'un (pas forcément Amadeus car je vois qu'il répond à tout le monde) aurait l'équivalent en VBA pour comparer les langages (et parce que j'avais commencé en VBA et que je voudrais voir où je me suis planté) ?
Je vais essayer de m'y coller mais je ne suis encore qu'un Ptit Bleu ...
Merci par avance pour votre aide,
Ptit Bleu.
Bonjour,
Voilà la macro en VBA :
Sub Moyenne()
Dim I As Long, Max As Long
Const Cherche = "*MOYENNE*"
Max = Sheets("Feuil1").Range("A1").End(xlDown).Row
For I = 1 To Max
If UCase(Sheets("Feuil1").Range("A" & I).Value) Like Cherche Then
Sheets("Feuil2").Range("D" & I).Value = Sheets("Feuil1").Range("A" & I).Value
End If
Next I
End Sub
Perso, j'ai abandonné les macros XL4 en 1995, car Microsoft annonçait qu'elle ne serait certainement plus compatible avec les futures versions (ou limitée à l'exécution).
Je ne regrette pas, car depuis j'ai développé pas mal de choses en VBA et en VB pur que je n'aurais jamais pu faire en XL4.
Salut Soft
Et merci de prendre la relève d'Amadeus qui a bien mérité sa petite pause.
Pour avoir la valeur de la colonne B dans la feuille 2, je me suis permis de remplacer le A par un B dans
Sheets("Feuil2").Range("D" & I).Value = Sheets("Feuil1").Range("A" & I).Value
Maintenant ça marche impec.
Moi j'en étais encore à ça (donc loin du compte : recherche sur "Moyenne" et pas autre chose et copie dans la même feuille) et c'est déjà plus long que la solution de Soft ...
Sub moyenneVBA()
Dim MotMoyenne As String, MaValeur, compteur As Integer
For compteur = 1 To [A65536].End(xlUp).Row
Range("A" & compteur).Select
MotMoyenne = ActiveCell.Value
If MotMoyenne = "Moyenne" Then
Range("B" & compteur).Select
MaValeur = ActiveCell.Value
Range("D" & compteur).Select
ActiveCell.Value = MaValeur
End If
Next
End Sub
Grâce à vous, je me coucherai moins bête ce soir.
A plus,
Ptit Bleu.