Macro pour la mise à jour
Résolu
lali
-
CaPiT Messages postés 609 Date d'inscription Statut Membre Dernière intervention -
CaPiT Messages postés 609 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis stagiaire et je voudrai faire une macro qui permet de faire des mises à jour sur un page excel mais j'ai une connaisssance limitée sur les macros.
Veuillez m'aider .
Merci d'avance :-)
Je suis stagiaire et je voudrai faire une macro qui permet de faire des mises à jour sur un page excel mais j'ai une connaisssance limitée sur les macros.
Veuillez m'aider .
Merci d'avance :-)
A voir également:
- Macro pour la mise à jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise à jour libre office - Accueil - Bureautique
7 réponses
Voilà, moi j'ai ça, ça marche plutôt bien:
Private Sub CommandButton1_Click()
Dim cell1, cell2 As String
Dim i, j, k As Integer
k = 0
For i = 1 To 5
cell1 = Replace("A" + Str(i), " ", "")
For j = 2 To 5
cell2 = Replace("A" + Str(j), " ", "")
If cell1 <> cell2 And Range(cell1).Value = Range(cell2).Value Then
Rows(j).Delete shift:=xlUp
k = k + 1
End If
Next j
Next i
If k <> 0 Then
MsgBox Sqr(k) & " ligne(s) supprimée(s)"
Else
MsgBox "Aucun Doublon"
End If
End Sub
Ca va me servir à moi aussi, donc je me suis dépéché de le faire.
Private Sub CommandButton1_Click()
Dim cell1, cell2 As String
Dim i, j, k As Integer
k = 0
For i = 1 To 5
cell1 = Replace("A" + Str(i), " ", "")
For j = 2 To 5
cell2 = Replace("A" + Str(j), " ", "")
If cell1 <> cell2 And Range(cell1).Value = Range(cell2).Value Then
Rows(j).Delete shift:=xlUp
k = k + 1
End If
Next j
Next i
If k <> 0 Then
MsgBox Sqr(k) & " ligne(s) supprimée(s)"
Else
MsgBox "Aucun Doublon"
End If
End Sub
Ca va me servir à moi aussi, donc je me suis dépéché de le faire.
oupsssssssssssssss
sorry sorry
Je vien de me rendre compte que le i va jusqu'à 5 ce qui explique mon erreur.ça ne vient pas de toi.
Excuse moi.
Et merci encore une fois.
En fait je voudrai te montrer un code que j'ai fait et qui ne marche pas comme je veux; en fait j'aimerai qu'il me fasse la somme de toutes les case de la colonne C tant que la case de la colonne A n'est pas "".
Je t'envoie le code et ça me ferait énormément plaisir si tu me réponds pour me dire l'erreur
Merci :-)
Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim somme As Long
j = 2
For i = 1 To 11
'Boucle sur les cellules de la colonne A
'On sort de la boucle si la cellule testée (Cells(i, 1)) est vide
While Not IsEmpty(Cells(i, 1))
somme = Range("C" & i).Value
While IsEmpty(Cells(j, 1))
somme = somme + Range("C" & j).Value
Range("B" & i).Value = somme
j = j + 1
Wend
Next i
Wend
End Sub
sorry sorry
Je vien de me rendre compte que le i va jusqu'à 5 ce qui explique mon erreur.ça ne vient pas de toi.
Excuse moi.
Et merci encore une fois.
En fait je voudrai te montrer un code que j'ai fait et qui ne marche pas comme je veux; en fait j'aimerai qu'il me fasse la somme de toutes les case de la colonne C tant que la case de la colonne A n'est pas "".
Je t'envoie le code et ça me ferait énormément plaisir si tu me réponds pour me dire l'erreur
Merci :-)
Sub Macro1()
Dim i As Integer
Dim j As Integer
Dim somme As Long
j = 2
For i = 1 To 11
'Boucle sur les cellules de la colonne A
'On sort de la boucle si la cellule testée (Cells(i, 1)) est vide
While Not IsEmpty(Cells(i, 1))
somme = Range("C" & i).Value
While IsEmpty(Cells(j, 1))
somme = somme + Range("C" & j).Value
Range("B" & i).Value = somme
j = j + 1
Wend
Next i
Wend
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le code que je t'es proposé, y'a quelques p'tits trucs a rajoutés.
Déja j = 1 dans la boucle, puis 5 ce n'était qu'un exemple ;), et surment d'autres choses à revoir.
Concernant ton code y'a deux choses (pour le moment car ça fonctionne pas ^^)
D'une tu ouvres une boucle for, puis une while puis une while. Mais quand tu fermes, tu fermes une while puis for puis while. Donc erreur ;)
Il faut aussi que tu déclares somme = 0 au début on sait jamais.
De plus il me semble que ton code s'execute à l'infini donc plantage.
Déja j = 1 dans la boucle, puis 5 ce n'était qu'un exemple ;), et surment d'autres choses à revoir.
Concernant ton code y'a deux choses (pour le moment car ça fonctionne pas ^^)
D'une tu ouvres une boucle for, puis une while puis une while. Mais quand tu fermes, tu fermes une while puis for puis while. Donc erreur ;)
Il faut aussi que tu déclares somme = 0 au début on sait jamais.
De plus il me semble que ton code s'execute à l'infini donc plantage.
Salut
désolé(e) de te déranger encore une fois mais en fait le code que tu m'as passé ne fait pas les mises à jour il supprime juste les lignes qui se répètent à partir de la deuxième fois(je veux dire il ne modifie pas les valeurs de la première ligne supposant par les valeurs de la 5ème ligne par exemple ( sachant qur le nom de la 5 éme ligne est le même que celui de la première)
Cei dit le code que je t'ai envoyé marche maintenant ,je l'ai corrigé.
Merci encore une fois
désolé(e) de te déranger encore une fois mais en fait le code que tu m'as passé ne fait pas les mises à jour il supprime juste les lignes qui se répètent à partir de la deuxième fois(je veux dire il ne modifie pas les valeurs de la première ligne supposant par les valeurs de la 5ème ligne par exemple ( sachant qur le nom de la 5 éme ligne est le même que celui de la première)
Cei dit le code que je t'ai envoyé marche maintenant ,je l'ai corrigé.
Merci encore une fois
Merci pour ta réponse
Ce que je veux faire c'est avoir une macro qui permet de vérifier les doublons sur la première colonne et et modifier la ligne dont le nom existe en double par ses données c'est ce que j'appelle mise à jour ,sachant que le nom qui est unique je garde les même données.
Merci d'avance pour la réponse :-)
J'aurais fait un bouton sur lequel tu mets une macro.
Puis tu fais deux boucles. la 2eme qui vérifie un enregistrement(cellule) avec les autres et la 1ere qui change d'enregistrement.
Dans la 2eme boucle, tu mets une condition, si elle existe tu deletes sinon tu laisses.
Tu vois le principe?
Si j'ai un peu de temps aujourd'hui j'essaierais de t'élaborer ce code (si tu n'y arrives pas^^)
Merci pour ta réponse
Je vais essayer d'appliquer ce que tu m'as dit et si j'ai un problème je te tiendrai au courant :-)
Merci encore