VBA avancé
Résolu/Fermé
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
-
30 mai 2011 à 11:12
ElMariachi07 Messages postés 14 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 6 juin 2011 - 3 juin 2011 à 14:20
ElMariachi07 Messages postés 14 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 6 juin 2011 - 3 juin 2011 à 14:20
14 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2011 à 14:24
31 mai 2011 à 14:24
ci joint proposition
https://www.cjoint.com/?3EFou7CwSmU
pour les cours/vba (pdf gratuits)
https://excel.developpez.com/cours/?page=prog#environnement
https://www.cjoint.com/?3EFou7CwSmU
pour les cours/vba (pdf gratuits)
https://excel.developpez.com/cours/?page=prog#environnement
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
30 mai 2011 à 15:45
30 mai 2011 à 15:45
Bonjour,
peux tu préciser
je souhaite qu'à partir d'un intervalle de 27 numéros
quels sont ces 27 numéros?, où se trouvent leur source?
Tu copies où?
quelle est la ligne de départ du tableau source ?
Au besoin, mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et coller le lien proposé (clic droit-copier l'adresse) dans le message de réponse
peux tu préciser
je souhaite qu'à partir d'un intervalle de 27 numéros
quels sont ces 27 numéros?, où se trouvent leur source?
Tu copies où?
quelle est la ligne de départ du tableau source ?
Au besoin, mettre le classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et coller le lien proposé (clic droit-copier l'adresse) dans le message de réponse
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
30 mai 2011 à 16:59
30 mai 2011 à 16:59
http://www.cijoint.fr/cjlink.php?file=cj201105/cijqpBpic1.xls
voilà, super ton site
merci
voilà, super ton site
merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
30 mai 2011 à 17:06
30 mai 2011 à 17:06
OK, merci mais il me faut ta liste des 27.... (une macro a besoin de données précises)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
30 mai 2011 à 22:48
30 mai 2011 à 22:48
le probleme est que le fichier original est trop lourd et contient des données confidentielles... J'ai donc fait ce fichier exemple qui reprend la meme logique que l'original mais a echelle réduite
Le principe serait donc exactement le meme
Moi de mon coté je continue d'avancer, j'ai réussi a rajouter une condition qui permet de copier les lignes des cellules vides
mais le soucis c'est qu'elle renvoie l'ensemble des lignes, donc meme celles qui ne font pas parties de la liste des comptes désirés
Merci en tout cas pour ton aide, des que j'ai du nouveau je te tiens au courant
Le principe serait donc exactement le meme
Moi de mon coté je continue d'avancer, j'ai réussi a rajouter une condition qui permet de copier les lignes des cellules vides
mais le soucis c'est qu'elle renvoie l'ensemble des lignes, donc meme celles qui ne font pas parties de la liste des comptes désirés
Merci en tout cas pour ton aide, des que j'ai du nouveau je te tiens au courant
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 31/05/2011 à 09:11
Modifié par michel_m le 31/05/2011 à 09:11
Bis:...
OK, merci mais il me faut ta liste des 27....
C'est curieux comme il faille supplier des renseignements pour essayer de donner un coup de main
Michel
OK, merci mais il me faut ta liste des 27....
C'est curieux comme il faille supplier des renseignements pour essayer de donner un coup de main
Michel
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
31 mai 2011 à 09:25
31 mai 2011 à 09:25
http://www.cijoint.fr/cjlink.php?file=cj201105/cijmI7Ig45.docx voilà la liste, j'éspère qu'elle te sera utile
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2011 à 10:26
31 mai 2011 à 10:26
Merci, j'ai pu regardé le problème....
Où copie t'on ? les uns à la suite des autres ou 1 feuille par numéro?
et dans ce dernier cas comment sont nommés les 27 feuilles ?
Où copie t'on ? les uns à la suite des autres ou 1 feuille par numéro?
et dans ce dernier cas comment sont nommés les 27 feuilles ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2011 à 12:25
31 mai 2011 à 12:25
c'est prêt: il ne manque plus que ta réponse à cette question de destination
Sub ventiler_numero() Dim Num As Object Dim Cptr As Byte, Ref As Long Dim nbre As Byte, lig As Integer, fin As Integer, T_out With Sheets("param") Set Num = CreateObject("scripting.dictionary") 'liste des numéros For Cptr = 2 To 28 Ref = .Cells(Cptr, 1) Num.Add Ref, Ref Next End With With Sheets(1) nbre = Application.CountA(.Range("B2:B65500")) lig = 1 For Cptr = 1 To nbre lig = .Columns(2).Find("*", .Cells(lig, 2)).Row If Num.exists(.Cells(lig, 2).Value) Then fin = .Columns(2).Find("*", .Cells(lig, 2)).Row - 1 If fin = 0 Then fin = .Range("E65500").End(xlUp).Row T_out = .Range(.Cells(lig, 3), .Cells(fin, 8)).Value End If Next ' EN ATTENTE DESTINATION End With End Sub
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
31 mai 2011 à 12:58
31 mai 2011 à 12:58
Tout d'abord merci
Je ne sais pas combien de temps ça t'a pris... moi il me faudrait des années pour écrire un tel code
Pour la destination, tout dans une seule et même feuille...
Est ce que tu pourrais me poster le fichier excel sur ton site? As-tu un bon livre ou site à me conseiller..
Merci encore
Je ne sais pas combien de temps ça t'a pris... moi il me faudrait des années pour écrire un tel code
Pour la destination, tout dans une seule et même feuille...
Est ce que tu pourrais me poster le fichier excel sur ton site? As-tu un bon livre ou site à me conseiller..
Merci encore
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
31 mai 2011 à 15:43
31 mai 2011 à 15:43
C'est magique :D
Je suis un peu déçu parce que ce matin j'avais réussi une solution, mais genre système D quoi... et quand je vois la tienne, wow, la mienne trouve sa place dans la corbeille
Merci
Ça te générais de m'aider sur un autre truc, un peu plus compliqué que celui là ?
Je suis un peu déçu parce que ce matin j'avais réussi une solution, mais genre système D quoi... et quand je vois la tienne, wow, la mienne trouve sa place dans la corbeille
Merci
Ça te générais de m'aider sur un autre truc, un peu plus compliqué que celui là ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2011 à 16:28
31 mai 2011 à 16:28
Envoie toujours la b^te, sois précis et complet dans ta demande
je marque ce post "résolu"; relance en un autre, merci
je marque ce post "résolu"; relance en un autre, merci
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
31 mai 2011 à 16:35
31 mai 2011 à 16:35
Ok, ca va me prendre un peu de temps, parce que c'super complexe à expliquer.
Je vais essayer d'être le plus exhaustif possible
Je peux juste te demander un peu d'explication sur tes codes? Ils m'aident énormément, mais j'ai l'impression que tu fais le travail à ma place, tu le fais super bien en plus, c'est juste que tes explications me permettraient de m'améliorer;
Si j'ai bien compris je dois lancer un nouveau sujet ?
Merci pour tout
Je vais essayer d'être le plus exhaustif possible
Je peux juste te demander un peu d'explication sur tes codes? Ils m'aident énormément, mais j'ai l'impression que tu fais le travail à ma place, tu le fais super bien en plus, c'est juste que tes explications me permettraient de m'améliorer;
Si j'ai bien compris je dois lancer un nouveau sujet ?
Merci pour tout
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
31 mai 2011 à 17:01
31 mai 2011 à 17:01
je dois lancer un nouveau sujet ?
oui
oui
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
1 juin 2011 à 17:07
1 juin 2011 à 17:07
En fait j'ai encore un léger soucis...
J'extrait la colonne B d'un autre logiciel,
le souci est que les comptes sont en format Texte, et donc impossible de les utiliser, si tu te mets sur un de ces comptes tu remarqueras un ' avant le numéro
Excel propose via son Collage Spécial de régler ce problème
Tu choisis une autre cellule, dans laquelle tu mets 1
ensuite tu Copie, et choisi Collage Spécial sur la Colonne B
Mais le problème avec cette manip comme tu peux le voir en Feuil2 est que l'intégralité de la colonne B est remplie désormais
Ce qui fait qu'Excel beug quand j'applique un code.
As - tu un moyen qui permette d'effectuer la manip jusqu'à la dernière ligne remplie
Evidemment cette dernière cellule n'est pas fixe, elle dépend de l'export
http://www.cijoint.fr/cjlink.php?file=cj201106/cij5nvw5PI.xls
Merci
J'extrait la colonne B d'un autre logiciel,
le souci est que les comptes sont en format Texte, et donc impossible de les utiliser, si tu te mets sur un de ces comptes tu remarqueras un ' avant le numéro
Excel propose via son Collage Spécial de régler ce problème
Tu choisis une autre cellule, dans laquelle tu mets 1
ensuite tu Copie, et choisi Collage Spécial sur la Colonne B
Mais le problème avec cette manip comme tu peux le voir en Feuil2 est que l'intégralité de la colonne B est remplie désormais
Ce qui fait qu'Excel beug quand j'applique un code.
As - tu un moyen qui permette d'effectuer la manip jusqu'à la dernière ligne remplie
Evidemment cette dernière cellule n'est pas fixe, elle dépend de l'export
http://www.cijoint.fr/cjlink.php?file=cj201106/cij5nvw5PI.xls
Merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
1 juin 2011 à 17:53
1 juin 2011 à 17:53
bonjour
essaies cette bidouille
essaies cette bidouille
Sub convertir() T_chifre = Application.Transpose(Range("B2:B" & Range("B65500").End(xlUp).Row).Value) For cptr = 1 To UBound(T_chifre) If T_chifre(cptr) <> "" Then T_chifre(cptr) = CLng(T_chifre(cptr)) Next Range("B2:B" & Range("B65500").End(xlUp).Row) = Application.Transpose(T_chifre) End Sub
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
2 juin 2011 à 15:26
2 juin 2011 à 15:26
Merci encore pour ton aide,
Mais il m'indique un Erreur '13' au niveau Then T_chifre(cptr) = CLng(T_chifre(cptr))
Sais-tu c'est du a quoi ?
Merci
Mais il m'indique un Erreur '13' au niveau Then T_chifre(cptr) = CLng(T_chifre(cptr))
Sais-tu c'est du a quoi ?
Merci
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 juin 2011 à 15:56
2 juin 2011 à 15:56
L'incompatibilité de type 13 se produit lorsque le '123456 comporte une lettre ou un point ou un tiret Ou... etc
bref de ce fait ne peut être transformé en nombre
Il y a donc ce cas dans la liste....
bref de ce fait ne peut être transformé en nombre
Il y a donc ce cas dans la liste....
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
2 juin 2011 à 16:21
2 juin 2011 à 16:21
Comment tu sais tout ca ?
Ben j'ai pas été trés futé ce coup la, j'appliquais ton code sur la feuille déja convertie.. grace a ton explication, le probleme est résolu.
Je peux te demander ca fait combien de temps que tu es sur VBA, ou VB en général ?
Merci énormément
Ben j'ai pas été trés futé ce coup la, j'appliquais ton code sur la feuille déja convertie.. grace a ton explication, le probleme est résolu.
Je peux te demander ca fait combien de temps que tu es sur VBA, ou VB en général ?
Merci énormément
ElMariachi07
Messages postés
14
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
6 juin 2011
3 juin 2011 à 14:20
3 juin 2011 à 14:20
Nouveau sujet lancé... je ne sais pas comment tu fais pour le retrouver
en tout cas j'ai posté un fichier sur cijoint et le lien dans le nouveau sujet
Merci
en tout cas j'ai posté un fichier sur cijoint et le lien dans le nouveau sujet
Merci