Copier valeur d'une colonne tant que ...

Fermé
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017 - 11 mai 2016 à 09:48
 Utilisateur anonyme - 11 mai 2016 à 14:18
Bonjour,

J'ai vrm besoin de votre aide voila j'ai posté précedemment une question mais j'ai l'impression que personne ne sait brm comment faire donc j'ai reussit a faire quelque chose d'autre. Maintenant j'aimerais une autre chose.

dans la colonne J , cellule A1 j'ai BUREAU:00235 et apres toujours dans la colonne J de la cellule A2 à A 45 (par exemple, ca ne sera pas toujours 45) je n'ai plus rien , et apres en A 46 j'ai BUREAU:00254 et ainsi de suite et ce que je voudrais, c'est que des que le programme renconte un numero de bureau il le copie sur la colonne jusqu'a temps qu'il trouve un autre numero de bureau et qu'il fasse pareil

Merci d'avance


A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 mai 2016 à 10:36
Bonjour,

Ta question concerne quoi au juste :
- La récupération du numéro présent dans la chaine de caractères
- ou la copie ?

pour la copie... tu trouveras sans mal de très nombreux exemples sur le net....
Pöur ce qui est d'isoler le chiffre ... là .. tu pourrais faire un SPLIT de la chaine de caractères.
par exemple :

 Sub test()
  Dim vaCel As String
  Dim nombre As Long
  Dim arrTmp
 
  valCel = Sheets(1).Cells(1, 1).Value
  arrTmp = Split(valCel, ":")
  If UBound(arrTmp) = 1 Then
    nombre = arrTmp(1)
    Debug.Print "nombre = " & nombre
  End If
End Sub


0
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 10:48
avant traitement
j1 bureau:0021
j2 vide
j3 vide
j4 bureau:0027
j5 vide
j6 vide
j7 bureau: 0027
j8 vide
j9 bureau:0145
j10vide


Apres traitement
j1 bureau:0021
j2 bureau:0021
j3 bureau:0021
j4 bureau:0027
j5 bureau:0027
j6 bureau:0027
j7 bureau: 0027
j8 bureau:0027
j9 bureau:0145
j10bureau:0145
0
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 10:48
voila c est ca que je chercher a faire en gros
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 11:03
Ah...
Donc juste une boulce toute bête....

un truc du genre :

Sub boucle()
 Dim Colonne As Integer
 Dim sht As Worksheet
 Dim LastRow As Long
 Dim valCel As String
 Dim valToCopy As String
 
 Set sht = ThisWorkbook.Sheets(1) ' Feuilles ou faire l'action

 'Dernière ligne utilisée de la feuille
  LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
 
  Colonne = 1 ' A changer par ton numéro de colonne
  
  'Boucle sur tes cellules
  For l = 1 To LastRow + 1
    valCel = sht.Cells(l, Colonne).Value
    If valCel <> "" Then
      valToCopy = valCel
    Else
      sht.Cells(l, Colonne).Value = valToCopy
    End If
  Next
End Sub
0
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 11:16
VOUS ETES GENIAL! MERCI

juste un petit probleme le dernier bureau
a la ligne 3000
ex de ce qui se passe
j3000 bureau 00271
j30001 vide
j3002 vide
0
Utilisateur anonyme > van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
Modifié par albkan le 11/05/2016 à 14:15
Bonjour van_van,

Pour que le travail se fasse en colonne J, tu as dû remplacer en ligne 13
« colonne = 1 » par « colonne = 10 ».

Pour régler le problème dont tu parles, essaye en remplaçant en ligne 11
"A" par "J" (mais peut-être l'as-tu déjà fait ?) :

LastRow = sht.Cells(sht.Rows.Count, "J").End(xlUp).Row

Normalement, ça devrait marcher ; si ça ne règle pas ton problème,
n'hésites pas à me le dire et on essayera de trouver une solution.

Cordialement.  😊
 
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 11/05/2016 à 10:54
Bonjour,
=SI(ESTERREUR(CHERCHE(":";A1));"";DROITE(A1;(NBCAR(A1)-CHERCHE(":";A1))*1))
à tirer vers le bas

mais il y a peut-^tre +simple
 Michel
0
van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 10:58
non ce n'est pas vrm ca que je veux, il est vrai que sur le premier message je n'ai pas etait clair, du coup j'ai rajoué un commentaire afin de preciser la chose
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 13:54
merci quand même !
0
Utilisateur anonyme > van_van Messages postés 60 Date d'inscription mercredi 6 avril 2016 Statut Membre Dernière intervention 9 janvier 2017
11 mai 2016 à 14:18
Bonjour van_van,

Je viens de compléter ma réponse, et j'espère
qu'elle résoudra ton problème :

Mon message 9

Cordialement.  😊
 
0