Macro excel
Résolu/Fermé
A voir également:
- Macro excel
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Macro word - Guide
- Si et excel - Guide
8 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
15 déc. 2011 à 09:36
15 déc. 2011 à 09:36
Bonjour,
Oui c'est possible.
Voici deux codes illustrant ce propos :
Oui c'est possible.
Voici deux codes illustrant ce propos :
Sub SelectionPlageAvecSourisetrestitution() Dim MonTableau() As String Dim Plage As Range Dim j As Integer Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8) MonTableau = Split(Plage.Address, ",") For j = 0 To UBound(MonTableau) MsgBox MonTableau(j) Next j End Sub
'http://ericrenaud.fr/ Sub SelectionPlageAvecSouris() Dim Plage As Range Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8) MsgBox ("La plage que vous avez séléctionnez est : " & Plage.Address) End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 déc. 2011 à 10:01
15 déc. 2011 à 10:01
Bonjour,
Appliquer un CALCUL sur une plage sélectionnée avec la souris ?? !! :-)
Copier le code ci-dessous.
Remplacer Sum par la fonction souhaitée.
Mettre un raccourci sur la macro. Par exemple Ctrl+P
Mode d'emploi...
Sélectionner une plage et taper le raccourci
A+
Appliquer un CALCUL sur une plage sélectionnée avec la souris ?? !! :-)
Copier le code ci-dessous.
Remplacer Sum par la fonction souhaitée.
Sub TotalPlage() MsgBox = WorksheetFunction.Sum(Selection) End Sub
Mettre un raccourci sur la macro. Par exemple Ctrl+P
Mode d'emploi...
Sélectionner une plage et taper le raccourci
A+
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 déc. 2011 à 10:10
15 déc. 2011 à 10:10
Correction..
Pour une colonne sélectionner la colonne en cliquant sur sont entête.
Sub TotalPlage() Dim Tot As Double Tot = WorksheetFunction.Sum(Selection) MsgBox Tot End Sub
Pour une colonne sélectionner la colonne en cliquant sur sont entête.
Merci pour vos réponses,
En fait mon probleme exact est que j'ai des chiffres 10, 110,1120. Je voudrais ramener ces chiffres a 6 chiffres soit 100000,110000, 112000. Mais ces chiffres ne sont pas tous le temps dans la même colonne dans mes feuilles excel. Elles sont des fois en colonne A ou C ... C'est pourquoi je voudrais créer une macro qui une fois sélectionne une colonne ou une plage. Ensuite une fois que cette sélection est faite j'insere 2 colonne sur la 1er je multiplie mon chiffre A1(10....) par 100000, sur la seconde j'utilise la fonction gauche (B1;6), je copie la valeur trouver et fait un collage valeur en A1 et supprime les 2 colonnes insérer au début.
Voila en détail ce que je cherche a faire je sais pas si j'ai été assez clair.
Merci a vous je débute en macro et je ne suis pas un expert c'est pour ca je fait appel à des experts comme vous.
En fait mon probleme exact est que j'ai des chiffres 10, 110,1120. Je voudrais ramener ces chiffres a 6 chiffres soit 100000,110000, 112000. Mais ces chiffres ne sont pas tous le temps dans la même colonne dans mes feuilles excel. Elles sont des fois en colonne A ou C ... C'est pourquoi je voudrais créer une macro qui une fois sélectionne une colonne ou une plage. Ensuite une fois que cette sélection est faite j'insere 2 colonne sur la 1er je multiplie mon chiffre A1(10....) par 100000, sur la seconde j'utilise la fonction gauche (B1;6), je copie la valeur trouver et fait un collage valeur en A1 et supprime les 2 colonnes insérer au début.
Voila en détail ce que je cherche a faire je sais pas si j'ai été assez clair.
Merci a vous je débute en macro et je ne suis pas un expert c'est pour ca je fait appel à des experts comme vous.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 déc. 2011 à 11:43
15 déc. 2011 à 11:43
Un truc qui fait tout en une fois ça t'intéresse ?
J'ai supposé que tes cellules sont au format nombre.
Comme pour l'autre macro, mettre un raccourci.
Mode d'emploi Idem aussi.. sélectionner la plage et taper le raccourci.
ATTENTION : Si tu sélectionne toute une colonne ça va durer longtemp.
Il faudrait une macro spécifique pour une sélection de colonne
J'ai supposé que tes cellules sont au format nombre.
Sub ReCode() Dim Cel As Range, Txt As String For Each Cel In Selection Txt = Cel.Text & String(5, "0") Cel = Val(Left(Txt, 6)) Next Cel End Sub
Comme pour l'autre macro, mettre un raccourci.
Mode d'emploi Idem aussi.. sélectionner la plage et taper le raccourci.
ATTENTION : Si tu sélectionne toute une colonne ça va durer longtemp.
Il faudrait une macro spécifique pour une sélection de colonne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 15/12/2011 à 11:46
Modifié par lermite222 le 15/12/2011 à 11:46
Finalement, une macro qui fait les deux...
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Sub ReCode2() Dim Cel As Range, Txt As String, TB Dim plage As Range TB = Split(Selection.Address, ":") If UBound(TB) > 0 Then If TB(0) = TB(1) Then 'sélection colonne Set plage = Range(Cells(1, TB(0)), Cells(Cells(65536, TB(0)).End(xlUp).Row, TB(0))) Else 'sélection plage Set plage = Selection End If Else Set plage = Selection End If For Each Cel In plage If Cel <> "" Then Txt = Cel.Text & String(5, "0") Cel = Val(Left(Txt, 6)) End If Next Cel End Sub
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Tout d'abord merci de vos réponses.
La macro de pijaku marche pour la sélection mais après j'ai un problème pour intégrer la mienne à la suite qui plante. Par contre lermite22, t'as première macro ne fonctionne pas donc la fin de la seconde non plus. C'est peu être moi qui me trompe mais j'ai juste copier et coller sous visual basic.
Merci à vous
La macro de pijaku marche pour la sélection mais après j'ai un problème pour intégrer la mienne à la suite qui plante. Par contre lermite22, t'as première macro ne fonctionne pas donc la fin de la seconde non plus. C'est peu être moi qui me trompe mais j'ai juste copier et coller sous visual basic.
Merci à vous
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
15 déc. 2011 à 18:34
15 déc. 2011 à 18:34
J'ai tester la 2ème macro avant de la poster et elle fonctionne PARFAITEMENT
QUEL EST L'ERREUR (sur quel ligne et le libellé de l'erreur)
OU EST MISE LA MACRO (module de feuille ou module général)
QUEL EST L'ERREUR (sur quel ligne et le libellé de l'erreur)
OU EST MISE LA MACRO (module de feuille ou module général)
Je comprend pas car moi quand je la lance je n'ai pas d'erreur qui s'affiche. La macro marche sans débogage mais il y a aucune action qui se crée. Est ce le format de ma cellule d'origine? Ça y est en fait ça marché pas car j'avais des ,00 à la fin de mes chiffres si je les enlève ça marche.
Merci pour votre aide comme d'habitude vous avez résolu mon problème. Vivement que j'approche votre niveau pour arrêter de vous embêter et aider les autres.
Merci pour votre aide comme d'habitude vous avez résolu mon problème. Vivement que j'approche votre niveau pour arrêter de vous embêter et aider les autres.