VBA sous Excel
Fermé
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
-
7 juin 2011 à 16:33
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 8 juin 2011 à 16:46
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 8 juin 2011 à 16:46
A voir également:
- VBA sous Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
16 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
7 juin 2011 à 16:44
7 juin 2011 à 16:44
bonjour
ton pb demande quelques éclaircissements
Q1. seuls les "0" sont concernés par cette "symétrie"?
Q2. cette symétrie, elle est faite par rapport à quoi?
Q3. Il n'y a que des couples de "0" en gras ?
Q4. peux tu reformuler ton pb
si tu pouvais envoyer un extrait de ton fichier au format excel 2003 sur cjoint.com par exemple avec un tableau traité comme tu le souhaites et joindre le lien au prochain post.
bonne suite
ton pb demande quelques éclaircissements
Q1. seuls les "0" sont concernés par cette "symétrie"?
Q2. cette symétrie, elle est faite par rapport à quoi?
Q3. Il n'y a que des couples de "0" en gras ?
Q4. peux tu reformuler ton pb
si tu pouvais envoyer un extrait de ton fichier au format excel 2003 sur cjoint.com par exemple avec un tableau traité comme tu le souhaites et joindre le lien au prochain post.
bonne suite
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
7 juin 2011 à 17:29
7 juin 2011 à 17:29
Bonjour tout d'abord je voudrais te remercier énormement pour ta participation ca me fait énormément plaisir , je répond à tes questions:
Q1: oui il y'a que les zéros qui sont concernés
Q2: cette symétrie est faite par rapports au n° de la lignes et le n°de colonnes je doit avoir le zéro dans par exemple la lig2 et la col2 ansin que la ligne qui la sui la lig3 et la col3 la jaurai une symétrie de binomes mais on peu aussi trouver celle de trinome par exemple lig 1 et col1 lig2 et colon2 et lig3 et colo3 on aura une symétrie de 0.
Q3: oui il ya que les couples de 0 zéro en gras car c ske je veu ke mon algorithme me fait il me parcour les deux premiéres lignes et il essaye de me trouver les 4zéro ds deu colonnes successives et du lignes sucessives aussi
Q4: je sais pas si j'ai trés bien expliquer mais bon je peux reformuler si vous voulez ?
merci écormement pour ton aidde c'est trés préscieux pour moi et pour ta compréhension.
Q1: oui il y'a que les zéros qui sont concernés
Q2: cette symétrie est faite par rapports au n° de la lignes et le n°de colonnes je doit avoir le zéro dans par exemple la lig2 et la col2 ansin que la ligne qui la sui la lig3 et la col3 la jaurai une symétrie de binomes mais on peu aussi trouver celle de trinome par exemple lig 1 et col1 lig2 et colon2 et lig3 et colo3 on aura une symétrie de 0.
Q3: oui il ya que les couples de 0 zéro en gras car c ske je veu ke mon algorithme me fait il me parcour les deux premiéres lignes et il essaye de me trouver les 4zéro ds deu colonnes successives et du lignes sucessives aussi
Q4: je sais pas si j'ai trés bien expliquer mais bon je peux reformuler si vous voulez ?
merci écormement pour ton aidde c'est trés préscieux pour moi et pour ta compréhension.
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
7 juin 2011 à 17:58
7 juin 2011 à 17:58
re
Q4. n'y a t'il pas une erreur dans ton tableau post 1. est que ligne 3 et 4 le dernier "0" ne serait il pas en gras ?
Q5. si oui, tu chercherais à isoler des "carrés" de "0" ?
Q4. n'y a t'il pas une erreur dans ton tableau post 1. est que ligne 3 et 4 le dernier "0" ne serait il pas en gras ?
Q5. si oui, tu chercherais à isoler des "carrés" de "0" ?
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
7 juin 2011 à 18:00
7 juin 2011 à 18:00
re
Q5. suite
dont la diagonale serait sur la diagonale du tableau?
Q5. suite
dont la diagonale serait sur la diagonale du tableau?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 08:41
8 juin 2011 à 08:41
re
un essai correspondant à ce que j'ai compris
https://www.cjoint.com/?0FiiN5J1MtD
bonne suite
un essai correspondant à ce que j'ai compris
https://www.cjoint.com/?0FiiN5J1MtD
bonne suite
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 10:42
8 juin 2011 à 10:42
coucou désolé pour le retard merci énormément,
Q4: enffet si c'est juste que il me la pas mis les 3 "0" le la colonne 3,4 et 5 sont en gras dans les lignes 3 4 et5
Q5: enffet t'as tout a fait compris c comme une diagonal dans le tableau
merci beaucoup beaucoup
s'il te plait je sais pas comment lire ce ke tu m'as envoyé ??? (je sais je suis trop nul en ski conserne la programmation!lol!)
merci pour ta compréhension.
Q4: enffet si c'est juste que il me la pas mis les 3 "0" le la colonne 3,4 et 5 sont en gras dans les lignes 3 4 et5
Q5: enffet t'as tout a fait compris c comme une diagonal dans le tableau
merci beaucoup beaucoup
s'il te plait je sais pas comment lire ce ke tu m'as envoyé ??? (je sais je suis trop nul en ski conserne la programmation!lol!)
merci pour ta compréhension.
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 10:43
8 juin 2011 à 10:43
ah enffet pour l'ouvrir c'est bon merci énormemen pour ton aide c'est trop gentil
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 10:45
8 juin 2011 à 10:45
j'ai vu ce que tu as fait c'est génial mais est ce que c'est pas la peine d'utiliser une boucle?
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 10:58
8 juin 2011 à 10:58
re
je ne comprends pas bien ta dernière question
est ce que c'est pas la peine d'utiliser une boucle?
en fait il y a deux boucles imbriquées
l'idée c'est que à partir d'un 0 sur la diagonale, on examine les carrés de dimension, 2, 3, etc ... dont le coin haut-gauche est ce 0, d'où la deuxième boucle
RQ1. dans la procedure CommandButton1_Click, il y a une référence à "tablo"
en fait "tablo" correspond à la plage sur la feuille contenant ton tableau
RQ2. tu regardes dans Insertion/nom/definir comment cette plage est définie, si tu ne coprends pas tout n'hésite pas
RQ3. cette façon de definir "tablo" permet de le rendre variable, donc, si tu raccourcis ou allonges ton tableau, en le gardant carré, "tablo" suit.
si tu as besoin d'explications, tu dis
je ne comprends pas bien ta dernière question
est ce que c'est pas la peine d'utiliser une boucle?
en fait il y a deux boucles imbriquées
l'idée c'est que à partir d'un 0 sur la diagonale, on examine les carrés de dimension, 2, 3, etc ... dont le coin haut-gauche est ce 0, d'où la deuxième boucle
RQ1. dans la procedure CommandButton1_Click, il y a une référence à "tablo"
en fait "tablo" correspond à la plage sur la feuille contenant ton tableau
RQ2. tu regardes dans Insertion/nom/definir comment cette plage est définie, si tu ne coprends pas tout n'hésite pas
RQ3. cette façon de definir "tablo" permet de le rendre variable, donc, si tu raccourcis ou allonges ton tableau, en le gardant carré, "tablo" suit.
si tu as besoin d'explications, tu dis
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 11:00
8 juin 2011 à 11:00
Q6. indiscrète, à quoi ce tableau sert il ?
tu n'es pas obligé de répondre à celle là
tu n'es pas obligé de répondre à celle 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
8 juin 2011 à 11:07
8 juin 2011 à 11:07
Bonjour
Excuse l'incruste, Gord2&, mais le pb m'a hachement intéressé
proposition (j'ai colorié à cause de mes yeux)
demo
https://www.cjoint.com/?3Filf2jDaL1
Excuse l'incruste, Gord2&, mais le pb m'a hachement intéressé
proposition (j'ai colorié à cause de mes yeux)
Sub robot() lig_dep = 1 col_dep = 1 With Cells(lig_dep, col_dep) lig_fin = .End(xlDown).Row - 1 col_fin = .End(xlToRight).Column End With For lig = lig_dep To lig_fin col = col_dep nbre_0 = Application.CountIf(Range(Cells(lig, col), Cells(lig, col_fin)), 0) - 1 If nbre_0 > 0 Then For cptr = 1 To 7 If Cells(lig, col) = 0 Then Set carre = Range(Cells(lig, col), Cells(lig + 1, col + 1)) 'If Application.Sum(carre) = 0 Then carre.Font.Bold = True If Application.Sum(carre) = 0 Then carre.Interior.ColorIndex = 6 nbre = nbre + 1 If nbre = nbre_0 Then Exit For End If col = col + 1 Next End If Next End Sub
demo
https://www.cjoint.com/?3Filf2jDaL1
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 11:40
8 juin 2011 à 11:40
@michel
salut michel
pas de pb pour l'incruste, un oeil différent est toujours le bienvenu ...
quelques remarques
RQ1. j'ai eu un choc en voyant mon nouveau pseudo, bon, c'est vrai que tu as évoqué tes yeux !!
RQ2. tu as un pb d'interprétation de l'énoncé, apparemment les carrés de 0 doivent avoir la même diagonale que le carré de base, d'où la "symétrie" évoquée par le demandeur.
RQ3. ton idée d'utiliser nbre_0 est préférable à la somme des valeurs, s'il y a des négatifs ... donc je la mets dans mon code
bonne journée
salut michel
pas de pb pour l'incruste, un oeil différent est toujours le bienvenu ...
quelques remarques
RQ1. j'ai eu un choc en voyant mon nouveau pseudo, bon, c'est vrai que tu as évoqué tes yeux !!
RQ2. tu as un pb d'interprétation de l'énoncé, apparemment les carrés de 0 doivent avoir la même diagonale que le carré de base, d'où la "symétrie" évoquée par le demandeur.
RQ3. ton idée d'utiliser nbre_0 est préférable à la somme des valeurs, s'il y a des négatifs ... donc je la mets dans mon code
bonne journée
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 juin 2011 à 11:56
8 juin 2011 à 11:56
bonjour ccm
excuse moi pour le pseudo (je vieillis mal)
pour la symetrie, tu as peut être raison , mais il n'y a pas de symetrie avec ligne 3 à 5et tania les a mis en gras...par contre pourquoi en ligne 6 pas de gras?
excuse moi pour le pseudo (je vieillis mal)
pour la symetrie, tu as peut être raison , mais il n'y a pas de symetrie avec ligne 3 à 5et tania les a mis en gras...par contre pourquoi en ligne 6 pas de gras?
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 12:05
8 juin 2011 à 12:05
re
1. en lignes 3 et 4 les derniers 0 devraient être en gras (voir son post 6)
2. en ligne 6 pas de gras car ça fait avec lignes 7 et 8 un rectangle et non un carré de 0
1. en lignes 3 et 4 les derniers 0 devraient être en gras (voir son post 6)
2. en ligne 6 pas de gras car ça fait avec lignes 7 et 8 un rectangle et non un carré de 0
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 juin 2011 à 13:49
8 juin 2011 à 13:49
OK, c'est vu (enfin!)
Cordialement
Cordialement
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 8/06/2011 à 13:51
Modifié par ccm81 le 8/06/2011 à 13:51
re
si le tableau doit contenir des négatifss
remplacer
If Application.WorksheetFunction.Sum(carre) = 0 Then
par
If Application.CountIf(carre, 0) = (dli + 1) ^ 2 Then
si le tableau doit contenir des négatifss
remplacer
If Application.WorksheetFunction.Sum(carre) = 0 Then
par
If Application.CountIf(carre, 0) = (dli + 1) ^ 2 Then
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 14:25
8 juin 2011 à 14:25
non il ne contient pas de négatif comment jepourrai faire pour t'envoyer mon tableau?
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 14:07
8 juin 2011 à 14:07
Coucou à vous deux ,
enffet c'est la première fois que je m'inscris à un forum j'y croyais pas au début que on pouvait s'entres aider c'est vraiment encouragant merci bien à vous deux(je sais que ca n'a rien avoir avec l'énoncer lol!"),
donc revenant à nos moutons ou plutot à mes moutons lollll!
@ccm81: pour que je réponds à ta question enffet le tableau que j'ai donner en exemple n'a rien avoir avec celui que je travail avec si tu veux je te l'envoi par mail.
je t'explique : enffet je dois automatiser une méthode est dans ce projet j'ai 36 sites chaque site dans dans une ligne avec le meme site dans une colonne
par exemple dans l'entete A :site1 ligne1: site1, B:site2 ligne2:site2 ... et dans le milieu du tableau des numéros .
moi ce k'il faut que je fasse c'est trouver en parourant tout le tableau deux sites sucessives ou 3sites sucessives l'important que ca dépasse pas 4 sites ou il 'ya une symétrie de 0 comme ce que j'ai montrer dans le tableau en haut :
A (site1) B(site2) C(site3) D E . . . . .
lig1(site1) 0 0 20 5 12
lig2(site2) 0 0 12 6 0
lig3(site3) 6 0 0 0
lig4(site4) 12 0 0 0
. 12 0 0 0
.
.
.
donc on faite le programme devrai parcourir la première ligne et la deuxiéme et la troisiéme et quatriéme kan il va trouvé les 4zéro la symétrie entre (le site 1 et le site 2 ),(site1 et site 1) (site2 et site2) (site 2 et site 1) il va me les mettre en gras et me les encadrée par exemple aprés il va passé a la 3éme ligne et il va chercher il va trouvé les 9zéro il va faire la meme chose juska kil finisse enffet c'est ca mon projet.
enffet c'est la première fois que je m'inscris à un forum j'y croyais pas au début que on pouvait s'entres aider c'est vraiment encouragant merci bien à vous deux(je sais que ca n'a rien avoir avec l'énoncer lol!"),
donc revenant à nos moutons ou plutot à mes moutons lollll!
@ccm81: pour que je réponds à ta question enffet le tableau que j'ai donner en exemple n'a rien avoir avec celui que je travail avec si tu veux je te l'envoi par mail.
je t'explique : enffet je dois automatiser une méthode est dans ce projet j'ai 36 sites chaque site dans dans une ligne avec le meme site dans une colonne
par exemple dans l'entete A :site1 ligne1: site1, B:site2 ligne2:site2 ... et dans le milieu du tableau des numéros .
moi ce k'il faut que je fasse c'est trouver en parourant tout le tableau deux sites sucessives ou 3sites sucessives l'important que ca dépasse pas 4 sites ou il 'ya une symétrie de 0 comme ce que j'ai montrer dans le tableau en haut :
A (site1) B(site2) C(site3) D E . . . . .
lig1(site1) 0 0 20 5 12
lig2(site2) 0 0 12 6 0
lig3(site3) 6 0 0 0
lig4(site4) 12 0 0 0
. 12 0 0 0
.
.
.
donc on faite le programme devrai parcourir la première ligne et la deuxiéme et la troisiéme et quatriéme kan il va trouvé les 4zéro la symétrie entre (le site 1 et le site 2 ),(site1 et site 1) (site2 et site2) (site 2 et site 1) il va me les mettre en gras et me les encadrée par exemple aprés il va passé a la 3éme ligne et il va chercher il va trouvé les 9zéro il va faire la meme chose juska kil finisse enffet c'est ca mon projet.
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 8/06/2011 à 15:09
Modifié par ccm81 le 8/06/2011 à 15:09
re
1. pour envoyer ton tableau tu utilises cijoint.fr ou cjoint.com et tu mets le lien obtenu dans ton prochain post (au format excel 2003)
2. comme il y a une nouveauté dans ta demande, pas plus de 4x4 pour la taille des sous tableaux de 0, il faut faire un correctif à la condition d'arret qui devrait devenir
3. pour definir le tableau deux solutions
- celle que j'ai adopté avec un nom de plage défini de façon dynamique avec tablo =DECALER(Feuil1!$A$1;0;0;NB(Feuil1!$A:$A);NB(Feuil1!$A:$A))
- celle qu'a adopté michel_m où la plage correspondante est définie dans le programme VBA
RQ. si/comme ton tableau est de dimension fixe, le problème est bien sûr plus simple
comme tu as pu voir, en plus d'apporter un peu de solidarité dans ce monde de brutes, le forum permet en plus de s'entraider, de discuter des différents points de vues sur une question,et ça, c'est toujours enrichissant.
bonne suite
1. pour envoyer ton tableau tu utilises cijoint.fr ou cjoint.com et tu mets le lien obtenu dans ton prochain post (au format excel 2003)
2. comme il y a une nouveauté dans ta demande, pas plus de 4x4 pour la taille des sous tableaux de 0, il faut faire un correctif à la condition d'arret qui devrait devenir
' on arrete quand li+dli >=n ou que pas trouve ou que dli = 4 Loop Until Not trouve Or li + dli >= n Or dli = 4
3. pour definir le tableau deux solutions
- celle que j'ai adopté avec un nom de plage défini de façon dynamique avec tablo =DECALER(Feuil1!$A$1;0;0;NB(Feuil1!$A:$A);NB(Feuil1!$A:$A))
- celle qu'a adopté michel_m où la plage correspondante est définie dans le programme VBA
RQ. si/comme ton tableau est de dimension fixe, le problème est bien sûr plus simple
comme tu as pu voir, en plus d'apporter un peu de solidarité dans ce monde de brutes, le forum permet en plus de s'entraider, de discuter des différents points de vues sur une question,et ça, c'est toujours enrichissant.
bonne suite
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 15:28
8 juin 2011 à 15:28
http://www.cijoint.fr/cjlink.php?file=cj201106/cijX8XKDhX.xls
ahh hihi voila mon dossier excel c la feuille 3
ahh hihi voila mon dossier excel c la feuille 3
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 15:40
8 juin 2011 à 15:40
non enffet c la feuil4 juste il fau enlever le remplissage et le gras paske j'avai essayer un programme
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 16:28
8 juin 2011 à 16:28
re
je ne vois pas où est le pb,
1. tu enlèves le gras et le remplissage "à la main"
2. tu nomme tablo la plage (sans les têtes de lignes et de colonnes)
3. tu mets deux boutons dans la feuille
4. tu colles les codes dans les CommandButton(S)_Click de tes boutons
RQ1. pour mettre la couleur jaune, les bordures et le gras (bouton OK)
RQ2. pour remettre en l'état (bouton RAZ)
bonne suite
je ne vois pas où est le pb,
1. tu enlèves le gras et le remplissage "à la main"
2. tu nomme tablo la plage (sans les têtes de lignes et de colonnes)
3. tu mets deux boutons dans la feuille
4. tu colles les codes dans les CommandButton(S)_Click de tes boutons
RQ1. pour mettre la couleur jaune, les bordures et le gras (bouton OK)
carre.Interior.ColorIndex = 6 carre.Font.FontStyle = "gras" carre.Borders.LineStyle = xlContinuous
RQ2. pour remettre en l'état (bouton RAZ)
Range("tablo").Cells(li, co).Font.FontStyle = "Normal" Range("tablo").Cells(li, co).Interior.ColorIndex = xlNone Range("tablo").Cells(li, co).Borders.LineStyle = xlNone
bonne suite
taniafifi
Messages postés
10
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
8 juin 2011
8 juin 2011 à 16:40
8 juin 2011 à 16:40
Oui c'est ca ca marche je sais pas comment te remercier tu me sauve la vie c'est trés gentil à toi.
Et encore merci pour ta générosité à bientot.
je voulez savoir si j'avais une question est ce que je pourrais te la demander si j'abuse pas !?
Et encore merci pour ta générosité à bientot.
je voulez savoir si j'avais une question est ce que je pourrais te la demander si j'abuse pas !?
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
8 juin 2011 à 16:46
8 juin 2011 à 16:46
bien sur ... si tu n'abuses pas