répartiton immo avec macro j'y perds mes cheveux!

  • Initiateur de la discussion Initiateur de la discussion luno123
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

luno123

XLDnaute Occasionnel
Bonjour,

Un petit souci chers (es) amis (es). J'ai créé une macro pour répartir mes immo en fonction de leur lieu d'utilisation.
Mais rien à faire ça ne marche pas! Si vous pouvez faire quelque chose pour me sortir de là svp. Je n'en peux plus.

Quand on n'a plus de neuronnes, il faut faire appel à la communauté.

Big up

Luno
 

Pièces jointes

Dernière édition:
Re : J'ai perdu tous mes cheveux à cause de cette macro!!!

Hi Luno, tous les chauves, Jean Marcel, et les autres,

En voyant ton projet de vba, j'étais sur le point de dire que ça ma parraissait à l'envers :
tu pars de For Each Worksheet au lieu de partir de For Each Cell (cf Jean Marcel), et j'allais te suggérer de jeter un coup d'oeil sur cette discussion à laquelle j'avais participée https://www.excel-downloads.com/threads/copier-ligne-selon-valeur-dans-une-autre-feuille.166242/,... mais Jean Marcel m'a doublé 😉
 
Re : J'ai perdu tous mes cheveux à cause de cette macro!!!

Bonjour le fil,

Une autre idée, mais sur le même principe
VB:
Sub RepartirImmo()
  Dim I As Long, Feuillecible As String, DerL As Long
  ' Pour chaque ligne de la feuille immo
  For I = 4 To Sheets("IMMO").Range("A4").End(xlDown).Row
    ' Récupérer le nom de la feuille
    Feuillecible = Sheets("IMMO").Cells(I, 2).Text
    ' En cas d'erreur on continue
    On Error Resume Next
    ' Activer la feuille
    Sheets(Feuillecible).Activate
    ' Si erreur = la feuille n'existe pas
    If Err.Number <> 0 Then
      ' Créer la feuille
      Sheets.Add After:=Sheets(Sheets.Count)
      ' la nommer
      Sheets(Sheets.Count).Name = Feuillecible
    End If
    On Error GoTo 0
    ' Inscrire les valeurs dedans
    With Sheets(Feuillecible)
      DerL = .Range("A65536").End(xlUp).Row + 1
      .Range(.Cells(5, 1), .Cells(Rows.Count, 1).End(xlUp).Offset(0, 4)).ClearContents
      .Range("A" & DerL) = Sheets("IMMO").Cells(I, 1).Value
      .Range("B" & DerL) = Sheets("IMMO").Cells(I, 4).Value
      .Range("C" & DerL) = Sheets("IMMO").Cells(I, 5).Value
      .Range("D" & DerL) = Sheets("IMMO").Cells(I, 13).Value
    End With
  Next I
End Sub

Cordialement.
 
Re : J'ai perdu tous mes cheveux à cause de cette macro!!!

merci beaucoup jean marcel & bond & tous ceux qui n'ont pas (encore) répondu.

Je vais me servir de ce code & essayer de mettre de l'ordre dans tout ça! Sinon c'était greffe de cheveux direct. lol.

Merci la famille

Luno

PS/ JM: j'ai juste voulu faire rire avec mon titre. En aucun cas je n'ai pensé bafouer la charte du forum.
 
Re : J'ai perdu tous mes cheveux à cause de cette macro!!!

Me revoilà,

Je n'ai pas réussi avec le code de JM.
Celui de BrunoM45 semble être plus à ma portée (sans vouloir vexer JM qui a été le plus rapide à répondre!).
J'ai réussi ceci mais la présentation (quand les feuilles sont créées) n'est pas terrible.
Je vous mets tout ça en pièce-jointe.
Un autre point: j'aimerai bien garder les libellés en jaune quand je crée mes nouvelles feuilles.

Merci encore
 

Pièces jointes

Macro: faire apparaitre la somme sur les feuilles cibles

Merci beaucoup à tous & à toutes.
JM ton code et juste parfait (heu...presque!). Je souhaiterai juste avoir sur les 5 feuilles cibles, la somme de la colonne 3 qui s'affiche.
J'ai "réussi" à mettre l'intitulé souhaité à la cellule E1. Mais pour la somme, à chaque fois que je refais une répartition ça disparait.
En gros je souhaiterai avoir en face de la cellule E1, la somme de la colonne C.
De plus serait-il possible d'ajuster automatiquement la taille des colonnes des feuilles cibles?

Merci encore

Luno

PS/ JM je n'ai pas mal pris ta remarque au contraire...
 

Pièces jointes

Re : J'ai perdu tous mes cheveux à cause de cette macro!!!

Bonjour tout le monde,

C'est rarement la macro qui dekonne mais celui ou celle qui l'écrit 😉
[Mode humour on]
C'est bien connu, en informatique, 99 % des problèmes sont situés entre la chaise et le clavier. 😛
[Mode humour off]

Plus sérieusement :
- pour ta liste de couleurs, regarde ce fil
- pour avoir la liste des polices disponibles sur ton ordi, exécute cette macro dans un document word :

Code:
Sub ListFonts()

   Dim varFont As Variant
   ' Speeds macro processing and suppresses display.
   Application.ScreenUpdating = False
   ' Create new document.
   Documents.Add Template:="normal"

   ' Loop through each available font.
   For Each varFont In FontNames
      With Selection
         ' Format for name of font.
         .Font.Name = "times new roman"
         .Font.Bold = True
         .Font.Underline = True
         ' Insert Font name.
         .TypeText varFont
         ' Insert a new paragraph after the Font Name.
         .InsertParagraphAfter
         ' Move to the new paragraph.
         .MoveDown unit:=wdParagraph, Count:=1, Extend:=wdMove
         ' Format for the font example.
         .Font.Bold = False
         .Font.Underline = False
         .Font.Name = varFont
         ' Enter example text(Alphabetic characters.)
         .TypeText "abcdefghijklmnopqrstuvwxyz"
         ' Insert a new paragraph.
         .InsertParagraphAfter
         ' Move to the new paragraph.
         .MoveDown unit:=wdParagraph, Count:=1, Extend:=wdMove
         ' Insert example text(Numeric characters.)
         .TypeText "0123456789?$%&()[]*_-=+/<>"
         ' Insert two new paragraphs and move down.
         .InsertParagraphAfter
         .InsertParagraphAfter
         .MoveDown unit:=wdParagraph, Count:=1, Extend:=wdMove
      End With

   Next varFont
   Application.ScreenUpdating = True

End Sub
 
Récupérer des données d'une macro sur une autre feuille

Big up à vous vraiment vous me sauver la vie! En tout cas vous me simplifiez les choses. Cela me donne encore plus envie de découvrir le language VBA car beaucoup de choses restent encore un mystère pour mon petit crâne chauve. A force de rencontrer des problèmes avec VBA & de creuser, je vais finir par trouver de l'or qui me permettra de les faire repousser mes cheveux.
JM tu es un 1/2 dieu je te jure!
J'ai une question sinon? Connais-tu un moyen pour apprendre ou se perfectionner en VBA? Des DVD par exemple...J'ai essayer des bouquins mais bon cela reste limité.

Une dernière question: Les montants des 5 cellules cibles, situés en cellule F1 sont inutilisables pour moi. J'ai mis une formule pour les récupérer dans une autre feuille de synthèse. Quand j'appuie sur le bouton "repartir", mes formules me marque " #REF! ".

ENCORE MERCI A VOUS TOUS & SPECIAL THANKS A JM
 
Dernière édition:
Récupérer des données d'une macro

@ Geotrouvepas & staple1600

Vous voulez dire que c'est de ma faute & non de la macro? Je ne suis pas d'accord! Pas du tout mes amis! Je vais me facher si vous continuer à dire ça! Ok on va se calmer. Je reconnais je ne suis pas doué en language vba...mdr.


Luno
 
Dernière édition:
Re : Récupérer des données d'une macro

Vous voulez dire que c'est de ma faute & non de la macro?

On va dire oui et non. Pour ma part, cela n'a rien d'une quelconque moquerie sur ton niveau en vba mais c'est plutôt un retour d'expérience de la part de quelqu'un qui a hurlé des centaines de fois des phrases de ce genre là :
- "Bon sang mais elle est buggée cette fonction"
- "C'est impossible que ma macro ne marche pas, ça vient forcément d'un bug"
- "Vba en fait vraiment qu'à sa tête des fois"

Au final, dans 99% des cas, on se rend qu'on s'est trompé sur un paramètre, qu'on a fait une faute de frappe dans le nom d'une variable, qu'on a oublié une déclaration etc....

Ce n'est donc absolument pas une moquerie, je ne me le permettrai pas, c'est simplement du vécu de la part de quelqu'un qui a très souvent cru que Vba buggait avant de se rendre compte que le soucis venait de son cerveau fatigué.

Pour ce qui est de ta demande de perfectionnement, sache que, pour ma part, j'ai fait d'énorme progrès en... pratiquant, tout simplement ! Disons que je suis parti d'un très faible niveau il y a un an et que j'ai progressé en faisant des applications basiques sur lesquelles sans cesse j'ai rajouté des fonctions de plus en plus évoluées. J'ai bien sûr pu compter sur le fofo pour m'aider quand j'étais perdu, c'est une précisue source d'information et d'entraide. Le secret c'est vraiment de bien connaître les bases de la programmation, d'avoir le rigueur, d'être ordonné et pratiquer sans cesse pour assimiler correctement les bases.

Bon courage !
 
Re : répartiton immo avec macro j'y perds mes cheveux!

Me revoilà la famille,

Je mets en pièce-jointe mon fichier légèrement modifié pour ne pas dépasser le 293 ko!
En fait j'ai 5 autres feuilles(dont 2 déjà créées pour l'exemple) dans lesquelles je dois envoyer la somme des amortissements calculée dans ma macro. Vous verrez sur le fichier.
je souhaite qu'à chaque fois que j'appuie sur le bouton "répartir", que ce montant se recalcule automatiquement en fonction des biens amortis dans chacune des 5 feuilles.

Merci d'avance
 

Pièces jointes

Re : répartiton immo avec macro j'y perds mes cheveux!

Bonsoir

Rassures-moi le demi-dieu c'est l'autre JM, pas moi, hein ?

PS: m'étant échappé du cathé dans ma jeunesse, je ne puis être déifié
(*ou alors dans une autre chapelle que celle de VBA, une avec des murs en velours grenats et un miroir au plafond ...)


PS1: et par une prêtresse de préférence (voire une pécheresse )

PS2: * : c'est un voeu pieux. 😉
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour